grub_script_blockarg.in 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #! @BUILD_SHEBANG@
  2. # Run GRUB script in a Qemu instance
  3. # Copyright (C) 2010 Free Software Foundation, Inc.
  4. #
  5. # GRUB is free software: you can redistribute it and/or modify
  6. # it under the terms of the GNU General Public License as published by
  7. # the Free Software Foundation, either version 3 of the License, or
  8. # (at your option) any later version.
  9. #
  10. # GRUB is distributed in the hope that it will be useful,
  11. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. # GNU General Public License for more details.
  14. #
  15. # You should have received a copy of the GNU General Public License
  16. # along with GRUB. If not, see <http://www.gnu.org/licenses/>.
  17. error_if_not () {
  18. if test "$1" != "$2"; then
  19. echo "[$1]" != "[$2]"
  20. exit 1
  21. fi
  22. }
  23. cmd='test_blockarg { true }'
  24. v=`echo "$cmd" | @builddir@/grub-shell`
  25. error_if_not "$v" '{ true }'
  26. tmp=`mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` || exit 1
  27. cmd='test_blockarg { test_blockarg { true } }'
  28. echo "$cmd" | @builddir@/grub-shell >$tmp
  29. error_if_not "`head -n1 $tmp|tail -n1`" '{ test_blockarg { true } }'
  30. error_if_not "`head -n2 $tmp|tail -n1`" '{ true }'
  31. cmd='test_blockarg { test_blockarg { test_blockarg { true } }; test_blockarg { true } }'
  32. echo "$cmd" | @builddir@/grub-shell >$tmp
  33. error_if_not "`head -n1 $tmp|tail -n1`" '{ test_blockarg { test_blockarg { true } }; test_blockarg { true } }'
  34. error_if_not "`head -n2 $tmp|tail -n1`" '{ test_blockarg { true } }'
  35. error_if_not "`head -n3 $tmp|tail -n1`" '{ true }'
  36. error_if_not "`head -n4 $tmp|tail -n1`" '{ true }'