illumos-port-bash/tests/func.right

170 lines
2.0 KiB
Plaintext

a returns 5
b returns 4
c returns 3
d returns 2
in e
e returned 25
x is 25
ZZ
abcde
defghi
ZZ
5
0
AVAR
AVAR
foo
foo
AVAR
5
5
f1
f1 ()
{
( return 5 );
status=$?;
echo $status;
return $status
}
before: try to assign to FUNCNAME
outside: FUNCNAME =
before: FUNCNAME = func
FUNCNAME = func2
after: FUNCNAME = func
outside2: FUNCNAME =
function
zf is a function
zf ()
{
echo this is zf
}
f is a function
f ()
{
echo f-x;
echo f-y
} 1>&2
subshell
f is a function
f ()
{
echo f-x;
echo f-y
} 1>&2
f2 is a function
f2 ()
{
echo f2-a;
function f3 ()
{
echo f3-a;
echo f3-b
} 1>&2;
f3
}
subshell
f2 is a function
f2 ()
{
echo f2-a;
function f3 ()
{
echo f3-a;
echo f3-b
} 1>&2;
f3
}
f4 is a function
f4 ()
{
echo f4-a;
function f5 ()
{
echo f5-a;
echo f5-b
} 1>&2;
f5
} 2>&1
subshell
f4 is a function
f4 ()
{
echo f4-a;
function f5 ()
{
echo f5-a;
echo f5-b
} 1>&2;
f5
} 2>&1
testgrp is a function
testgrp ()
{
echo testgrp-a;
{
echo tg-x;
echo tg-y
} 1>&2;
echo testgrp-b
}
subshell
testgrp is a function
testgrp ()
{
echo testgrp-a;
{
echo tg-x;
echo tg-y
} 1>&2;
echo testgrp-b
}
funca is a function
funca ()
{
( echo func-a )
}
funcb is a function
funcb ()
{
( echo func-b )
}
funcc is a function
funcc ()
{
( echo func-c ) 2>&1
}
func-a
func-b
func-c
foo-bar
foo-bar ()
{
:
}
expect 5 10
5 10
expect 20
20
expect 5 20
5 20
expect 5 20
5 20
expect 2 40
2 40
expect 5 20
5 20
./func4.sub: line 23: foo: maximum function nesting level exceeded (100)
1
after: f = 100
./func4.sub: line 23: foo: maximum function nesting level exceeded (100)
1
after: f = 100
7
after FUNCNEST reset: f = 201
7
after FUNCNEST unset: f = 201
./func4.sub: line 23: foo: maximum function nesting level exceeded (20)
1
after FUNCNEST assign: f = 38
5