sim: testsuite: improve parallel test processing
authorMike Frysinger <vapier@gentoo.org>
Sun, 23 Oct 2022 19:45:18 +0000 (01:30 +0545)
committerMike Frysinger <vapier@gentoo.org>
Wed, 26 Oct 2022 08:53:44 +0000 (14:38 +0545)
The current logic limits itself to a maxdepth of 4 when looking for
results.  This wouldn't be a problem if cris didn't have a testsuite
at a depth of 5 which we end up ignoring when summarizing.  Rather
than bump the number from 4 to 5, rework the code so that we gather
the exact set of tests that we tried to run.

sim/Makefile.in
sim/testsuite/local.mk

index 18e84e522660a2633c40adffdee653185926c623..f471289600cf11edf18c9cb74a588b5ee31c98f8 100644 (file)
@@ -2474,13 +2474,14 @@ check/%.exp:
 
 check-DEJAGNU-parallel:
        $(AM_V_at)( \
-       $(MAKE) -k \
-         `cd $(srcdir)/testsuite && find . -name '*.exp' -printf 'check/%P '`; \
+       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 testsuite/ -maxdepth 4 -name testrun.sum | sort` > testrun.sum; \
+         `find $$@ -maxdepth 1 -name testrun.sum 2>/dev/null | sort` > testrun.sum; \
        $(SHELL) $(srcroot)/contrib/dg-extract-results.sh -L \
-         `find testsuite/ -maxdepth 4 -name testrun.log | sort` > testrun.log; \
+         `find $$@ -maxdepth 1 -name testrun.log 2>/dev/null | sort` > testrun.log; \
        echo; \
        $(SED) -n '/^.*===.*Summary.*===/,$$p' testrun.sum; \
        exit $$ret)
index b8114a565997f1665e14af9a0bb0e5965f6785f1..cee51f24ae0fcf3976e1c85a49f77dc1cd59d87e 100644 (file)
@@ -50,13 +50,14 @@ check/%.exp:
 
 check-DEJAGNU-parallel:
        $(AM_V_at)( \
-       $(MAKE) -k \
-         `cd $(srcdir)/testsuite && find . -name '*.exp' -printf 'check/%P '`; \
+       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 testsuite/ -maxdepth 4 -name testrun.sum | sort` > testrun.sum; \
+         `find $$@ -maxdepth 1 -name testrun.sum 2>/dev/null | sort` > testrun.sum; \
        $(SHELL) $(srcroot)/contrib/dg-extract-results.sh -L \
-         `find testsuite/ -maxdepth 4 -name testrun.log | sort` > testrun.log; \
+         `find $$@ -maxdepth 1 -name testrun.log 2>/dev/null | sort` > testrun.log; \
        echo; \
        $(SED) -n '/^.*===.*Summary.*===/,$$p' testrun.sum; \
        exit $$ret)