-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathfunctions.yaml
92 lines (76 loc) · 1.7 KB
/
functions.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
name: "Functions"
cases:
- name: "Basic function invocation"
test_files:
- path: "script.sh"
contents: |
myfunc() {
echo "In myfunc()."
}
echo "Calling myfunc()..."
myfunc
echo "Returned."
args: ["./script.sh"]
- name: "Function invocation with args"
test_files:
- path: "script.sh"
contents: |
myfunc() {
echo "In myfunc()"
echo "1: $1"
echo "*: $*"
}
echo "Calling myfunc()..."
myfunc a b c
echo "Returned."
args: ["./script.sh"]
- name: "Function invocation with empty arg"
stdin: |
myfunc() {
echo "count: ${#*}"
echo "\$1: $1"
echo "\$2: $2"
echo "\$3: $3"
}
myfunc a b c
myfunc a "" c
- name: "Function definition with output redirection"
stdin: |
myfunc() {
echo "In myfunc()"
} >>./test.txt
myfunc
myfunc
- name: "Function call with env variables"
stdin: |
myfunc() {
echo ${myvar}
}
myvar="default"
myfunc
myvar="overridden" myfunc
myfunc
- name: "Function definition without braces"
stdin: |
myfunc()
if true; then
echo true
else
echo false
fi
myfunc
- name: "Nested function definition"
stdin: |
outer() {
echo "Entered outer"
inner() {
echo "In inner"
}
echo "Invoking inner"
inner
echo "Returning from outer"
}
echo "Calling outer from toplevel"
outer
echo "Calling inner from toplevel"
inner