]> git.proxmox.com Git - grub2.git/blob - tests/grub_script_functions.in
* grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
[grub2.git] / tests / grub_script_functions.in
1 #! @builddir@/grub-shell-tester
2
3 # Run GRUB script in a Qemu instance
4 # Copyright (C) 2010 Free Software Foundation, Inc.
5 #
6 # GRUB is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
10 #
11 # GRUB is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with GRUB. If not, see <http://www.gnu.org/licenses/>.
18
19 echo parameter count
20 function fcount {
21 echo fcount "$#"
22 }
23
24 fcount
25 fcount a
26 fcount a b
27
28 echo parameter count, with nesting
29 function ffcount {
30 echo ffcount "$#"
31 fcount
32 fcount a
33 fcount a b
34 }
35
36 ffcount
37 ffcount 1
38 ffcount 1 2
39
40 echo parameters
41 function fparam {
42 echo fparam 1 $1
43 echo fparam 2 $2
44 echo fparam 3 $3
45 }
46
47 fparam
48 fparam a
49 fparam a b
50
51 echo parameters, with nesting
52 function ffparam {
53 echo ffparam 1 $1
54 echo ffparam 2 $2
55 echo ffparam 3 $3
56 fparam
57 fparam a
58 fparam a b
59 }
60
61 ffparam
62 ffparam 1
63 ffparam 1 2
64
65 echo parameter expansion with specials
66 function fstar {
67 for f in $*
68 do
69 echo fstar $f
70 done
71
72 for f in aaa$*bbb
73 do
74 echo fstar $f
75 done
76 }
77
78 fstar
79 fstar a
80 fstar a "1 2"
81 fstar a "1 2" b
82
83 function fdqstar {
84 for f in "$*"
85 do
86 echo fdqstar $f
87 done
88
89 for f in aaa"$*"bbb
90 do
91 echo fdqstar $f
92 done
93
94 for f in "aaa$*bbb"
95 do
96 echo fdqstar $f
97 done
98 }
99
100 fdqstar
101 fdqstar a
102 fdqstar a "1 2"
103 fdqstar a "1 2" b
104
105 function fat {
106 for f in $@
107 do
108 echo fat $f
109 done
110
111 for f in aaa$@bbb
112 do
113 echo fat $f
114 done
115 }
116
117 fat
118 fat a
119 fat a "1 2"
120 fat a "1 2" b
121 fat a "1 2" b "c d"
122 fat a "1 2" b "c d" e
123
124 function fdqat {
125 for f in "$@"
126 do
127 echo fdqat $f
128 done
129
130 for f in aaa"$@"bbb
131 do
132 echo fdqat $f
133 done
134
135 for f in "aaa$@bbb"
136 do
137 echo fdqat $f
138 done
139 }
140
141 # fdqat # this case needs special handling, lets ignore till we really need it.
142 fdqat a
143 fdqat a "1 2"
144 fdqat a "1 2" b
145 fdqat a "1 2" b "c d"
146 fdqat a "1 2" b "c d" e
147