| #! @builddir@/grub-shell-tester |
| |
| # Run GRUB script in a Qemu instance |
| # Copyright (C) 2010 Free Software Foundation, Inc. |
| # |
| # GRUB is free software: you can redistribute it and/or modify |
| # it under the terms of the GNU General Public License as published by |
| # the Free Software Foundation, either version 3 of the License, or |
| # (at your option) any later version. |
| # |
| # GRUB is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with GRUB. If not, see <http://www.gnu.org/licenses/>. |
| |
| function f1 { |
| return |
| echo one |
| } |
| f1 |
| |
| function f2 { |
| true |
| return |
| echo one |
| } |
| if f2; then echo true; else echo false; fi |
| |
| function f3 { |
| false |
| return |
| echo one |
| } |
| if f3; then echo true; else echo false; fi |
| |
| function f4 { |
| true |
| return 1; |
| echo one |
| } |
| if f4; then echo true; else echo false; fi |
| |
| function f5 { |
| false |
| return 0; |
| echo one |
| } |
| if f5; then echo true; else echo false; fi |
| |
| function f6 { |
| echo one |
| if true; then |
| echo two |
| return 0 |
| else |
| echo three |
| return 1 |
| fi |
| echo four |
| } |
| if f6; then echo true; else echo false; fi |
| |
| function f7 { |
| if return 1; then |
| echo one |
| else |
| echo no |
| fi |
| } |
| if f7; then echo true; else echo false; fi |
| |
| function f8 { |
| echo one |
| for v in 1 2 3 4 5; do |
| echo $v |
| if test $v = 3; then return 1; fi |
| done |
| echo two |
| } |
| if f8; then echo true; else echo false; fi |
| |
| function f9 { |
| x=1 |
| echo one |
| until test x = 11111111; do |
| echo $x |
| x="1$x" |
| if test $x = 1111; then return 0; fi |
| done |
| echo two |
| } |
| if f9; then echo true; else echo false; fi |
| |
| function f10 { |
| echo one |
| while return 0; do |
| echo two |
| done |
| echo three |
| } |
| if f10; then echo true; else echo false; fi |
| |
| function f11 { |
| f1 |
| f2 |
| f3 |
| f4 |
| f5 |
| f6 |
| f7 |
| f8 |
| f9 |
| f10 |
| } |
| if f11; then echo true; else echo false; fi |
| |
| function f12 { |
| echo one |
| f11 |
| return 1 |
| echo two |
| } |
| if f12; then echo true; else echo false; fi |
| |
| function f13 { |
| echo one |
| f12 |
| echo two |
| return 0 |
| } |
| if f13; then echo true; else echo false; fi |