]> git.proxmox.com Git - mirror_zfs.git/blob - tests/zfs-tests/tests/functional/channel_program/lua_core/tst.recursive.zcp
OpenZFS 7431 - ZFS Channel Programs
[mirror_zfs.git] / tests / zfs-tests / tests / functional / channel_program / lua_core / tst.recursive.zcp
1 --
2 -- This file and its contents are supplied under the terms of the
3 -- Common Development and Distribution License ("CDDL"), version 1.0.
4 -- You may only use this file in accordance with the terms of version
5 -- 1.0 of the CDDL.
6 --
7 -- A full copy of the text of the CDDL should have accompanied this
8 -- source. A copy of the CDDL is also available via the Internet at
9 -- http://www.illumos.org/license/CDDL.
10 --
11
12 --
13 -- Copyright (c) 2016 by Delphix. All rights reserved.
14 --
15
16 -- Test recursion in LUA. Deep recursion should work because it does
17 -- not use the C stack. The LUA stack is is allocated from the kernel's
18 -- heap, up to the specified memory limit.
19
20 arg = ...
21 argv = arg["argv"]
22
23 function f (x)
24 if (x == 0) then
25 return x
26 end
27 return f(x-1) + 1
28 end
29
30 r = f(argv[1])
31 return r