## See sim/Makefile.am. ## ## Copyright (C) 1997-2023 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 3 of the License, 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 . ## Tweak the site.exp so it works with plain `runtest` from user. EXTRA_DEJAGNU_SITE_CONFIG = site-sim-config.exp # Custom verbose test variables that automake doesn't provide (yet?). AM_V_RUNTEST = $(AM_V_RUNTEST_@AM_V@) AM_V_RUNTEST_ = $(AM_V_RUNTEST_@AM_DEFAULT_V@) AM_V_RUNTEST_0 = @echo " RUNTEST $(RUNTESTFLAGS) $*"; AM_V_RUNTEST_1 = site-sim-config.exp: Makefile $(AM_V_GEN)( \ echo "set SIM_PRIMARY_TARGET \"$(SIM_PRIMARY_TARGET)\""; \ echo "set builddir \"$(builddir)\""; \ echo "set srcdir \"$(srcdir)/testsuite\""; \ $(foreach V,$(SIM_TOOLCHAIN_VARS),echo "set $(V) \"$($(V))\"";) \ ) > $@ DO_RUNTEST = \ LC_ALL=C; export LC_ALL; \ EXPECT=${EXPECT} ; export EXPECT ; \ runtest=$(RUNTEST); \ $$runtest $(RUNTESTFLAGS) # Ignore dirs that only contain configuration settings. check/./config/%.exp: ; @true check/config/%.exp: ; @true check/./lib/%.exp: ; @true check/lib/%.exp: ; @true check/%.exp: $(AM_V_at)mkdir -p testsuite/$* $(AM_V_RUNTEST)$(DO_RUNTEST) --objdir testsuite/$* --outdir testsuite/$* $*.exp check-DEJAGNU-parallel: $(AM_V_at)( \ set -- `cd $(srcdir)/testsuite && find . -name '*.exp' -printf '%P\n' | sed 's:[.]exp$$::'`; \ $(MAKE) -k `printf 'check/%s.exp ' $$@`; \ ret=$$?; \ set -- `printf 'testsuite/%s/ ' $$@`; \ $(SHELL) $(srcroot)/contrib/dg-extract-results.sh \ `find $$@ -maxdepth 1 -name testrun.sum 2>/dev/null | sort` > testrun.sum; \ $(SHELL) $(srcroot)/contrib/dg-extract-results.sh -L \ `find $$@ -maxdepth 1 -name testrun.log 2>/dev/null | sort` > testrun.log; \ echo; \ $(SED) -n '/^.*===.*Summary.*===/,$$p' testrun.sum; \ exit $$ret) check-DEJAGNU-single: $(AM_V_RUNTEST)$(DO_RUNTEST) # If running a single job, invoking runtest once is faster & has nicer output. check-DEJAGNU: site.exp $(AM_V_at)(set -e; \ EXPECT=${EXPECT} ; export EXPECT ; \ runtest=$(RUNTEST); \ if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \ case "$(MAKEFLAGS)" in \ *-j*) $(MAKE) check-DEJAGNU-parallel;; \ *) $(MAKE) check-DEJAGNU-single;; \ esac; \ else \ echo "WARNING: could not find \`runtest'" 1>&2; :;\ fi) MOSTLYCLEANFILES += \ site-sim-config.exp testrun.log testrun.sum include %D%/common/local.mk