]>
Commit | Line | Data |
---|---|---|
6c57b87f | 1 | ## See sim/Makefile.am. |
de8a2781 | 2 | ## |
1d506c26 | 3 | ## Copyright (C) 1997-2024 Free Software Foundation, Inc. |
de8a2781 MF |
4 | ## |
5 | ## This program 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 | ## This program 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 this program. If not, see <http://www.gnu.org/licenses/>. | |
6c57b87f | 17 | |
de8a2781 | 18 | ## Tweak the site.exp so it works with plain `runtest` from user. |
e1e1ae6e | 19 | EXTRA_DEJAGNU_SITE_CONFIG = site-sim-config.exp |
6c57b87f | 20 | |
5ec501b5 MF |
21 | # Custom verbose test variables that automake doesn't provide (yet?). |
22 | AM_V_RUNTEST = $(AM_V_RUNTEST_@AM_V@) | |
23 | AM_V_RUNTEST_ = $(AM_V_RUNTEST_@AM_DEFAULT_V@) | |
804de1fa | 24 | AM_V_RUNTEST_0 = @echo " RUNTEST $(RUNTESTFLAGS) $*"; |
5ec501b5 MF |
25 | AM_V_RUNTEST_1 = |
26 | ||
e1e1ae6e MF |
27 | site-sim-config.exp: Makefile |
28 | $(AM_V_GEN)( \ | |
7a259895 | 29 | echo "set SIM_PRIMARY_TARGET \"$(SIM_PRIMARY_TARGET)\""; \ |
e1e1ae6e MF |
30 | echo "set builddir \"$(builddir)\""; \ |
31 | echo "set srcdir \"$(srcdir)/testsuite\""; \ | |
8996c210 | 32 | $(foreach V,$(SIM_TOOLCHAIN_VARS),echo "set $(V) \"$($(V))\"";) \ |
e1e1ae6e | 33 | ) > $@ |
6c57b87f | 34 | |
804de1fa MF |
35 | DO_RUNTEST = \ |
36 | LC_ALL=C; export LC_ALL; \ | |
37 | EXPECT=${EXPECT} ; export EXPECT ; \ | |
38 | runtest=$(RUNTEST); \ | |
39 | $$runtest $(RUNTESTFLAGS) | |
40 | ||
41 | # Ignore dirs that only contain configuration settings. | |
42 | check/./config/%.exp: ; @true | |
e60091e4 | 43 | check/config/%.exp: ; @true |
804de1fa | 44 | check/./lib/%.exp: ; @true |
e60091e4 | 45 | check/lib/%.exp: ; @true |
804de1fa MF |
46 | |
47 | check/%.exp: | |
48 | $(AM_V_at)mkdir -p testsuite/$* | |
49 | $(AM_V_RUNTEST)$(DO_RUNTEST) --objdir testsuite/$* --outdir testsuite/$* $*.exp | |
50 | ||
51 | check-DEJAGNU-parallel: | |
52 | $(AM_V_at)( \ | |
8f97b519 MF |
53 | set -- `cd $(srcdir)/testsuite && find . -name '*.exp' -printf '%P\n' | sed 's:[.]exp$$::'`; \ |
54 | $(MAKE) -k `printf 'check/%s.exp ' $$@`; \ | |
804de1fa | 55 | ret=$$?; \ |
8f97b519 | 56 | set -- `printf 'testsuite/%s/ ' $$@`; \ |
804de1fa | 57 | $(SHELL) $(srcroot)/contrib/dg-extract-results.sh \ |
8f97b519 | 58 | `find $$@ -maxdepth 1 -name testrun.sum 2>/dev/null | sort` > testrun.sum; \ |
804de1fa | 59 | $(SHELL) $(srcroot)/contrib/dg-extract-results.sh -L \ |
8f97b519 | 60 | `find $$@ -maxdepth 1 -name testrun.log 2>/dev/null | sort` > testrun.log; \ |
804de1fa MF |
61 | echo; \ |
62 | $(SED) -n '/^.*===.*Summary.*===/,$$p' testrun.sum; \ | |
63 | exit $$ret) | |
64 | ||
65 | check-DEJAGNU-single: | |
66 | $(AM_V_RUNTEST)$(DO_RUNTEST) | |
67 | ||
68 | # If running a single job, invoking runtest once is faster & has nicer output. | |
6c57b87f | 69 | check-DEJAGNU: site.exp |
804de1fa | 70 | $(AM_V_at)(set -e; \ |
6c57b87f MF |
71 | EXPECT=${EXPECT} ; export EXPECT ; \ |
72 | runtest=$(RUNTEST); \ | |
73 | if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \ | |
804de1fa MF |
74 | case "$(MAKEFLAGS)" in \ |
75 | *-j*) $(MAKE) check-DEJAGNU-parallel;; \ | |
76 | *) $(MAKE) check-DEJAGNU-single;; \ | |
77 | esac; \ | |
78 | else \ | |
79 | echo "WARNING: could not find \`runtest'" 1>&2; :;\ | |
80 | fi) | |
6c57b87f MF |
81 | |
82 | MOSTLYCLEANFILES += \ | |
e1e1ae6e | 83 | site-sim-config.exp testrun.log testrun.sum |
a389375f MF |
84 | |
85 | include %D%/common/local.mk |