]> git.proxmox.com Git - grub2.git/blame - tests/grub_script_return.in
merge from squeeze branch
[grub2.git] / tests / grub_script_return.in
CommitLineData
aa5cd41a
BC
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
19function f1 {
20 return
21 echo one
22}
23f1
24
25function f2 {
26 true
27 return
28 echo one
29}
30if f2; then echo true; else echo false; fi
31
32function f3 {
33 false
34 return
35 echo one
36}
37if f3; then echo true; else echo false; fi
38
39function f4 {
40 true
41 return 1;
42 echo one
43}
44if f4; then echo true; else echo false; fi
45
46function f5 {
47 false
48 return 0;
49 echo one
50}
51if f5; then echo true; else echo false; fi
52
53function f6 {
54 echo one
55 if true; then
56 echo two
57 return 0
58 else
59 echo three
60 return 1
61 fi
62 echo four
63}
64if f6; then echo true; else echo false; fi
65
66function f7 {
67 if return 1; then
68 echo one
69 else
70 echo no
71 fi
72}
73if f7; then echo true; else echo false; fi
74
75function f8 {
76 echo one
77 for v in 1 2 3 4 5; do
78 echo $v
79 if test $v = 3; then return 1; fi
80 done
81 echo two
82}
83if f8; then echo true; else echo false; fi
84
85function f9 {
86 x=1
87 echo one
88 until test x = 11111111; do
89 echo $x
90 x="1$x"
91 if test $x = 1111; then return 0; fi
92 done
93 echo two
94}
95if f9; then echo true; else echo false; fi
96
97function f10 {
98 echo one
99 while return 0; do
100 echo two
101 done
102 echo three
103}
104if f10; then echo true; else echo false; fi
105
106function f11 {
107 f1
108 f2
109 f3
110 f4
111 f5
112 f6
113 f7
114 f8
115 f9
116 f10
117}
118if f11; then echo true; else echo false; fi
119
120function f12 {
121 echo one
122 f11
123 return 1
124 echo two
125}
126if f12; then echo true; else echo false; fi
127
128function f13 {
129 echo one
130 f12
131 echo two
132 return 0
133}
134if f13; then echo true; else echo false; fi