ieee1275: split up grub_machine_get_bootlocation
[grub.git] / tests / grub_script_return.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 function f1 {
20     return
21     echo one
22 }
23 f1
24
25 function f2 {
26     true
27     return
28     echo one
29 }
30 if f2; then echo true; else echo false; fi
31
32 function f3 {
33     false
34     return
35     echo one
36 }
37 if f3; then echo true; else echo false; fi
38
39 function f4 {
40     true
41     return 1;
42     echo one
43 }
44 if f4; then echo true; else echo false; fi
45
46 function f5 {
47     false
48     return 0;
49     echo one
50 }
51 if f5; then echo true; else echo false; fi
52
53 function 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 }
64 if f6; then echo true; else echo false; fi
65
66 function f7 {
67     if return 1; then
68         echo one
69     else
70         echo no
71     fi
72 }
73 if f7; then echo true; else echo false; fi
74
75 function 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 }
83 if f8; then echo true; else echo false; fi
84
85 function 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 }
95 if f9; then echo true; else echo false; fi
96
97 function f10 {
98     echo one
99     while return 0; do
100         echo two
101     done
102     echo three
103 }
104 if f10; then echo true; else echo false; fi
105
106 function f11 {
107     f1
108     f2
109     f3
110     f4
111     f5
112     f6
113     f7
114     f8
115     f9
116     f10
117 }
118 if f11; then echo true; else echo false; fi
119
120 function f12 {
121     echo one
122     f11
123     return 1
124     echo two
125 }
126 if f12; then echo true; else echo false; fi
127
128 function f13 {
129     echo one
130     f12
131     echo two
132     return 0
133 }
134 if f13; then echo true; else echo false; fi