check2.sh 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #! /bin/sh
  2. # Copyright (C) 2002-2017 Free Software Foundation, Inc.
  3. #
  4. # This program is free software; you can redistribute it and/or modify
  5. # it under the terms of the GNU General Public License as published by
  6. # the Free Software Foundation; either version 2, or (at your option)
  7. # any later version.
  8. #
  9. # This program is distributed in the hope that it will be useful,
  10. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. # GNU General Public License for more details.
  13. #
  14. # You should have received a copy of the GNU General Public License
  15. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. # Test Automake style tests.
  17. # For gen-testsuite-part: ==> try-with-serial-tests <==
  18. . test-init.sh
  19. cat >> configure.ac << 'END'
  20. AC_CONFIG_FILES([dir/Makefile])
  21. AC_OUTPUT
  22. END
  23. mkdir dir
  24. cat > Makefile.am << 'END'
  25. SUBDIRS = dir
  26. TESTS = \
  27. subrun.sh
  28. subrun.sh:
  29. (echo '#! /bin/sh'; echo 'dir/echo.sh') > $@
  30. chmod +x $@
  31. CLEANFILES = subrun.sh
  32. END
  33. cat > dir/Makefile.am << 'END'
  34. check_SCRIPTS = echo.sh
  35. echo.sh:
  36. (echo '#! /bin/sh'; echo 'echo Hello') > $@
  37. chmod +x $@
  38. CLEANFILES = echo.sh
  39. END
  40. test x"$am_serial_tests" = x"yes" || cp "$am_scriptdir/test-driver" .
  41. $ACLOCAL
  42. $AUTOCONF
  43. $AUTOMAKE
  44. ./configure
  45. run_make -O check
  46. grep '^PASS: subrun\.sh *$' stdout
  47. grep 'PASS.*echo\.sh' stdout && exit 1
  48. # 'check' should depend directly on 'check-am' (similar tests are
  49. # in 'check.sh' and 'built-sources-check.sh').
  50. $EGREP '^check:.* check-recursive( |$)' Makefile.in
  51. $EGREP '^check:.* check-am( |$)' dir/Makefile.in
  52. # Make sure subrun.sh is still on its line as above. This means Automake
  53. # hasn't rewritten the TESTS line unnecessarily (we can tell, because all
  54. # Automake variables are reformatted by VAR_PRETTY).
  55. grep '^ subrun\.sh$' Makefile.in
  56. :