summaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/Makefile.am
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2008-10-24 08:58:44 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2008-10-24 08:58:44 +0000
commita0d20ccbd97fde9c2af1f7345e3eb1313dea570f (patch)
tree87b43c1e7fd2de458ec6ca098f5749750c29c799 /libstdc++-v3/testsuite/Makefile.am
parentd52efe652cb58a6c6f51bf528327c064fdbfe804 (diff)
downloadgcc-a0d20ccbd97fde9c2af1f7345e3eb1313dea570f.tar.gz
contrib/
* dg-extract-results.sh: New file. gcc/ * Makefile.in (lang_checks_parallelized, check_gcc_parallelize, check_p_tool, check_p_vars, check_p_subno, check_p_comma, check_p_subwork, check_p_numbers, check_p_subdir, check_p_subdirs): New variables. (check-subtargets, check-%-subtargets, check-parallel-%): New targets. (check-%): For test targets listed in lang_checks_parallelized if -j is used and RUNTESTFLAGS doesn't specify tests to execute, run the testing in multiple make goals, possibly parallel, and afterwards run dg-extract-results.sh to merge the sum and log files. gcc/cp/ * Make-lang.in (check-c++-subtargets): New alias for check-g++-subtargets. (lang_checks_parallelized): Add check-g++. (check_g++_parallelize): New variable. gcc/fortran/ * Make-lang.in (check-f95-subtargets, check-fortran-subtargets): New aliases for check-gfortran-subtargets. (lang_checks_parallelized): Add check-gfortran. (check_gfortran_parallelize): New variable. gcc/ada/ * gcc-interface/Make-lang.in (check-ada-subtargets): Depend on check-acats-subtargets and check-gnat-subtargets. (check_acats_targets): New variable. (check-acats-subtargets, check-acats%): New targets. (check-acats): If -j is used and CHAPTERS is empty, run the testing in multiple make goals, possibly parallel, and afterwards run dg-extract-results.sh to merge the sum and log files. gcc/java/ * Make-lang.in (check-java-subtargets): New target. libstdc++-v3/ * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Remove dejagnu. (RUNTESTDEFAULTFLAGS, EXPECT, check_DEJAGNU_normal_targets): New variables. (%/site.exp, check-DEJAGNU%): New targets. (check-am): Run $(MAKE) check-DEJAGNU. * testsuite/Makefile.in: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141337 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/testsuite/Makefile.am')
-rw-r--r--libstdc++-v3/testsuite/Makefile.am78
1 files changed, 77 insertions, 1 deletions
diff --git a/libstdc++-v3/testsuite/Makefile.am b/libstdc++-v3/testsuite/Makefile.am
index 407d7c95f91..14ce3b7bf4c 100644
--- a/libstdc++-v3/testsuite/Makefile.am
+++ b/libstdc++-v3/testsuite/Makefile.am
@@ -21,7 +21,9 @@
## Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
## USA.
-AUTOMAKE_OPTIONS = dejagnu nostdinc
+AUTOMAKE_OPTIONS = nostdinc
+RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
+EXPECT = expect
include $(top_srcdir)/fragment.am
@@ -86,6 +88,80 @@ new-abi-baseline:
fi; \
${extract_symvers} ../src/.libs/libstdc++.so $${output})
+%/site.exp: site.exp
+ -test -d $* || mkdir $*
+ @srcdir=`cd $(srcdir); ${PWD_COMMAND}`;
+ objdir=`${PWD_COMMAND}`/$*; \
+ sed -e "s|^set srcdir .*$$|set srcdir $$srcdir|" \
+ -e "s|^set objdir .*$$|set objdir $$objdir|" \
+ site.exp > $*/site.exp.tmp
+ @-rm -f $*/site.bak
+ @test ! -f $*/site.exp || mv $*/site.exp $*/site.bak
+ @mv $*/site.exp.tmp $*/site.exp
+
+check_DEJAGNU_normal_targets = $(patsubst %,check-DEJAGNUnormal%,0 1 2 3)
+$(check_DEJAGNU_normal_targets): check-DEJAGNUnormal%: normal%/site.exp
+
+# Run the testsuite in normal mode.
+check-DEJAGNU $(check_DEJAGNU_normal_targets): check-DEJAGNU%: site.exp
+ if [ -z "$*$(filter-out --target_board=%, $(RUNTESTFLAGS))" ] \
+ && [ "$(filter -j, $(MFLAGS))" = "-j" ]; then \
+ $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNUnormal0 check-DEJAGNUnormal1 \
+ check-DEJAGNUnormal2 check-DEJAGNUnormal3; \
+ for idx in 0 1 2 3; do \
+ mv -f normal$$idx/libstdc++.sum normal$$idx/libstdc++.sum.sep; \
+ mv -f normal$$idx/libstdc++.log normal$$idx/libstdc++.log.sep; \
+ done; \
+ mv -f libstdc++.sum libstdc++.sum.sep; \
+ mv -f libstdc++.log libstdc++.log.sep; \
+ $(SHELL) $(srcdir)/../../contrib/dg-extract-results.sh \
+ libstdc++.sum.sep normal0/libstdc++.sum.sep \
+ normal1/libstdc++.sum.sep normal2/libstdc++.sum.sep \
+ normal3/libstdc++.sum.sep > libstdc++.sum; \
+ $(SHELL) $(srcdir)/../../contrib/dg-extract-results.sh -L \
+ libstdc++.log.sep normal0/libstdc++.log.sep \
+ normal1/libstdc++.log.sep normal2/libstdc++.log.sep \
+ normal3/libstdc++.log.sep > libstdc++.log; \
+ exit 0; \
+ fi; \
+ srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \
+ EXPECT=$(EXPECT); export EXPECT; \
+ runtest=$(RUNTEST); \
+ if [ -z "$$runtest" ]; then runtest=runtest; fi; \
+ tool=libstdc++; \
+ dirs=; \
+ case "$*" in \
+ normal0) \
+ if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
+ $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) \
+ $(RUNTESTFLAGS) abi.exp; \
+ else echo "WARNING: could not find \`runtest'" 1>&2; :;\
+ fi; \
+ dirs="`cd $$srcdir; echo [013-9][0-9]_*/* [abep]*/*`";; \
+ normal1) \
+ dirs="`cd $$srcdir; echo 2[0-2]_*/*`";; \
+ normal2) \
+ dirs="`cd $$srcdir; echo 2[4-9]_*/*`";; \
+ normal3) \
+ dirs="`cd $$srcdir; echo 23_*/* t*/*`";; \
+ esac; \
+ if [ -n "$*" ]; then cd "$*"; fi; \
+ if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
+ if [ -n "$$dirs" ]; then \
+ $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) \
+ $(RUNTESTFLAGS) \
+ "conformance.exp=`echo $$dirs | sed 's/ /* /g;s/$$/*/'`"; \
+ else \
+ $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) \
+ $(RUNTESTFLAGS); \
+ fi; \
+ else echo "WARNING: could not find \`runtest'" 1>&2; :;\
+ fi
+
+check-am:
+ $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
+.PHONY: check-DEJAGNU
+
# Use 'new-abi-baseline' to create an initial symbol file. Then run
# 'check-abi' to test for changes against that file.
check-abi: site.exp baseline_symbols