#! /bin/sh # Copyright (C) 2012 Free Software Foundation, Inc. # # This program 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 2, or (at your option) # any later version. # # This program 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 this program. If not, see . # Check parallel-tests interactions with "make -n". parallel_tests=yes . ./defs || Exit 1 set -e echo AC_OUTPUT >> configure.in cat > Makefile.am <<'END' TESTS = foo.test bar.test $(TESTS): END $ACLOCAL $AUTOCONF $AUTOMAKE -a ./configure # Avoid confusion with test logs. rm -f config.log log_files='test-suite.log foo.log bar.log' html_files='test-suite.html foo.html bar.html' the_files="$log_files $html_files" all_exist () { st=0 for i in $*; do test -f $i || { echo File $i not found; st=1; } done test $st -eq 0 } none_exist () { st=0 for i in $*; do { test -r $i || test -f $i; } && { echo File $i found; st=1; } done test $st -eq 0 } for targ in check recheck check-html recheck-html $the_files; do $MAKE -n "$targ" none_exist $the_files done touch $the_files $MAKE -n mostlyclean all_exist $the_files $MAKE -n clean all_exist $the_files cat > foo.test <<'END' #! /bin/sh exit 0 END cat > bar.test <<'END' #! /bin/sh exit 1 END chmod a+x foo.test bar.test $MAKE check && Exit 1 for targ in recheck recheck-html clean mostlyclean distclean; do $MAKE -n "$targ" all_exist $the_files done :