Hi!

I've noticed recently that the 28_regex/ tests look very expensive
testing time wise, while there are only ~ 120 tests, I'm routinely seeing
28_regex/* complete last.  This patch moves the most expensive 28_regex/
tests ([ab]*, about 2/3 of all the regex tests) to a separate job, while
one of the former 10 jobs tests the rest of 28_regex/ together with 26_*/.

The make check time on i686-linux shortened by ~5 minutes today,
x86_64-linux by about ~4 minutes.

Ok for trunk?

2013-11-22  Jakub Jelinek  <ja...@redhat.com>

        * testsuite/Makefile.am (check_DEJAGNU_normal_targets): Add 10.
        (check-DEJAGNU): Add normal10, run 28_regex/[ab]*
        tests as another separate job.
        * testsuite/Makefile.in: Regenerated.

--- libstdc++-v3/testsuite/Makefile.am.jj       2013-02-04 18:16:14.000000000 
+0100
+++ libstdc++-v3/testsuite/Makefile.am  2013-11-22 16:40:05.300362400 +0100
@@ -101,7 +101,7 @@ new-abi-baseline:
        @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 4 5 6 
7 8 9)
+check_DEJAGNU_normal_targets = $(patsubst %,check-DEJAGNUnormal%,0 1 2 3 4 5 6 
7 8 9 10)
 $(check_DEJAGNU_normal_targets): check-DEJAGNUnormal%: normal%/site.exp
 
 # Run the testsuite in normal mode.
@@ -111,16 +111,16 @@ check-DEJAGNU $(check_DEJAGNU_normal_tar
        if [ -z "$*$(filter-out --target_board=%, $(RUNTESTFLAGS))" ] \
            && [ "$(filter -j, $(MFLAGS))" = "-j" ]; then \
          $(MAKE) $(AM_MAKEFLAGS) $(check_DEJAGNU_normal_targets); \
-         for idx in 0 1 2 3 4 5 6 7 8 9; do \
+         for idx in 0 1 2 3 4 5 6 7 8 9 10; 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 normal[0-9]/libstdc++.sum.sep > libstdc++.sum; \
+           libstdc++.sum.sep normal[0-9]*/libstdc++.sum.sep > libstdc++.sum; \
          $(SHELL) $(srcdir)/../../contrib/dg-extract-results.sh -L \
-           libstdc++.log.sep normal[0-9]/libstdc++.log.sep > libstdc++.log; \
+           libstdc++.log.sep normal[0-9]*/libstdc++.log.sep > libstdc++.log; \
          exit 0; \
        fi; \
        srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \
@@ -150,10 +150,12 @@ check-DEJAGNU $(check_DEJAGNU_normal_tar
          normal6) \
            dirs="`cd $$srcdir; echo 2[459]_*/*`";; \
          normal7) \
-           dirs="`cd $$srcdir; echo 2[68]_*/*`";; \
+           dirs="`cd $$srcdir; echo 26_*/* 28_*/[c-z]*`";; \
          normal8) \
            dirs="`cd $$srcdir; echo 27_*/*`";; \
          normal9) \
+           dirs="`cd $$srcdir; echo 28_*/[ab]*`";; \
+         normal10) \
            dirs="`cd $$srcdir; echo t*/*`";; \
        esac; \
        if [ -n "$*" ]; then cd "$*"; fi; \
--- libstdc++-v3/testsuite/Makefile.in.jj       2013-08-13 12:20:49.619089640 
+0200
+++ libstdc++-v3/testsuite/Makefile.in  2013-11-22 16:40:48.389146404 +0100
@@ -301,7 +301,7 @@ lists_of_files = \
 
 extract_symvers = $(glibcxx_builddir)/scripts/extract_symvers
 baseline_subdir := $(shell $(CXX) $(baseline_subdir_switch))
-check_DEJAGNU_normal_targets = $(patsubst %,check-DEJAGNUnormal%,0 1 2 3 4 5 6 
7 8 9)
+check_DEJAGNU_normal_targets = $(patsubst %,check-DEJAGNUnormal%,0 1 2 3 4 5 6 
7 8 9 10)
 
 # Runs the testsuite, but in compile only mode.
 # Can be used to test sources with non-GNU FE's at various warning
@@ -562,16 +562,16 @@ check-DEJAGNU $(check_DEJAGNU_normal_tar
        if [ -z "$*$(filter-out --target_board=%, $(RUNTESTFLAGS))" ] \
            && [ "$(filter -j, $(MFLAGS))" = "-j" ]; then \
          $(MAKE) $(AM_MAKEFLAGS) $(check_DEJAGNU_normal_targets); \
-         for idx in 0 1 2 3 4 5 6 7 8 9; do \
+         for idx in 0 1 2 3 4 5 6 7 8 9 10; 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 normal[0-9]/libstdc++.sum.sep > libstdc++.sum; \
+           libstdc++.sum.sep normal[0-9]*/libstdc++.sum.sep > libstdc++.sum; \
          $(SHELL) $(srcdir)/../../contrib/dg-extract-results.sh -L \
-           libstdc++.log.sep normal[0-9]/libstdc++.log.sep > libstdc++.log; \
+           libstdc++.log.sep normal[0-9]*/libstdc++.log.sep > libstdc++.log; \
          exit 0; \
        fi; \
        srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \
@@ -601,10 +601,12 @@ check-DEJAGNU $(check_DEJAGNU_normal_tar
          normal6) \
            dirs="`cd $$srcdir; echo 2[459]_*/*`";; \
          normal7) \
-           dirs="`cd $$srcdir; echo 2[68]_*/*`";; \
+           dirs="`cd $$srcdir; echo 26_*/* 28_*/[c-z]*`";; \
          normal8) \
            dirs="`cd $$srcdir; echo 27_*/*`";; \
          normal9) \
+           dirs="`cd $$srcdir; echo 28_*/[ab]*`";; \
+         normal10) \
            dirs="`cd $$srcdir; echo t*/*`";; \
        esac; \
        if [ -n "$*" ]; then cd "$*"; fi; \

        Jakub

Reply via email to