1 ## See sim/Makefile.am.
3 ## Copyright (C) 1997-2023 Free Software Foundation, Inc.
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.
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.
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/>.
18 ## Tweak the site.exp so it works with plain `runtest` from user.
19 EXTRA_DEJAGNU_SITE_CONFIG
= site-sim-config.exp
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@
)
24 AM_V_RUNTEST_0
= @echo
" RUNTEST $(RUNTESTFLAGS) $*";
27 site-sim-config.exp
: Makefile
29 echo
"set SIM_PRIMARY_TARGET \"$(SIM_PRIMARY_TARGET)\""; \
30 echo
"set builddir \"$(builddir)\""; \
31 echo
"set srcdir \"$(srcdir)/testsuite\""; \
32 $(foreach V
,$(SIM_TOOLCHAIN_VARS
),echo
"set $(V) \"$($(V))\"";) \
36 LC_ALL
=C
; export LC_ALL
; \
37 EXPECT
=${EXPECT} ; export EXPECT
; \
39 $$runtest $(RUNTESTFLAGS
)
41 # Ignore dirs that only contain configuration settings.
42 check/.
/config
/%.exp
: ; @true
43 check/config
/%.exp
: ; @true
44 check/.
/lib
/%.exp
: ; @true
45 check/lib
/%.exp
: ; @true
48 $(AM_V_at
)mkdir
-p testsuite
/$*
49 $(AM_V_RUNTEST
)$(DO_RUNTEST
) --objdir testsuite
/$* --outdir testsuite
/$* $*.exp
51 check-DEJAGNU-parallel
:
53 set
-- `cd $(srcdir)/testsuite && find . -name '*.exp' -printf '%P\n' | sed 's:[.]exp$$::'`; \
54 $(MAKE
) -k
`printf 'check/%s.exp ' $$@`; \
56 set
-- `printf 'testsuite/%s/ ' $$@`; \
57 $(SHELL
) $(srcroot
)/contrib
/dg-extract-results.sh \
58 `find $$@ -maxdepth 1 -name testrun.sum 2>/dev/null | sort` > testrun.sum
; \
59 $(SHELL
) $(srcroot
)/contrib
/dg-extract-results.sh
-L \
60 `find $$@ -maxdepth 1 -name testrun.log 2>/dev/null | sort` > testrun.log
; \
62 $(SED
) -n
'/^.*===.*Summary.*===/,$$p' testrun.sum
; \
66 $(AM_V_RUNTEST
)$(DO_RUNTEST
)
68 # If running a single job, invoking runtest once is faster & has nicer output.
69 check-DEJAGNU
: site.exp
71 EXPECT
=${EXPECT} ; export EXPECT
; \
73 if
$(SHELL
) -c
"$$runtest --version" > /dev
/null
2>&1; then \
74 case
"$(MAKEFLAGS)" in \
75 *-j
*) $(MAKE
) check-DEJAGNU-parallel
;; \
76 *) $(MAKE
) check-DEJAGNU-single
;; \
79 echo
"WARNING: could not find \`runtest'" 1>&2; :;\
83 site-sim-config.exp testrun.log testrun.sum
85 include %D
%/common
/local.mk