#! @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