diff options
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/ChangeLog | 9 | ||||
-rwxr-xr-x | contrib/dg-extract-results.sh | 29 |
2 files changed, 27 insertions, 11 deletions
diff --git a/contrib/ChangeLog b/contrib/ChangeLog index b4c315bc5df..6ab29eb71d9 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,12 @@ +2009-04-27 Jakub Jelinek <jakub@redhat.com> + + PR testsuite/39807 + * dg-extract-results.sh: Close open files and use >> instead of > + to decrease number of concurrently open files from awk. Avoid + = at the beginning of a regexp and redirect to a file determined + by curfile variable rather than concatenated strings to workaround + Solaris nawk bug. + 2009-04-25 Gerald Pfeifer <gerald@pfeifer.com> * test_summary: Only include LAST_UPDATED if it exists. diff --git a/contrib/dg-extract-results.sh b/contrib/dg-extract-results.sh index 75ae38f70e8..518c19f6bee 100755 --- a/contrib/dg-extract-results.sh +++ b/contrib/dg-extract-results.sh @@ -6,7 +6,7 @@ # The resulting file can be used with test result comparison scripts for # results from tests that were run in parallel. See usage() below. -# Copyright (C) 2008 Free Software Foundation +# Copyright (C) 2008, 2009 Free Software Foundation # Contributed by Janis Johnson <janis187@us.ibm.com> # # This file is part of GCC. @@ -148,26 +148,28 @@ if [ "$TOOL" = acats ]; then ACATS_AWK=${TMP}/acats.awk cat <<EOF > $ACATS_AWK BEGIN { - print_prologue=1; chapter=""; insummary=0 + print_prologue=1; curfile=""; insummary=0 passcnt=0; failcnt=0; unsupcnt=0; failures="" } -/=== acats configuration ===/ { +/^[ \t]*=== acats configuration ===/ { insummary=0 if (print_prologue) print next } -/=== acats tests ===/ { +/^[ \t]*=== acats tests ===/ { if (print_prologue) print print_prologue=0 next } /^Running chapter / { - chapter=\$3 - print > "${TMP}/chapter-"chapter + if (curfile) close (curfile) + curfile="${TMP}/chapter-"\$3 + print >> curfile next } -/=== acats Summary ===/ { - chapter="" +/^[ \t]*=== acats Summary ===/ { + if (curfile) close (curfile) + curfile="" insummary=1 next } @@ -182,7 +184,7 @@ BEGIN { } { if (print_prologue) { print; next } - if (chapter) print > "${TMP}/chapter-"chapter + if (curfile) print >> curfile } END { system ("cat ${TMP}/chapter-*") @@ -194,6 +196,7 @@ END { } EOF + rm -f ${TMP}/chapter-* $AWK -f $ACATS_AWK $SUM_FILES exit 0 fi @@ -270,6 +273,7 @@ BEGIN { expfileno=1 cnt=0 print_using=0 + need_close=0 } /^EXPFILE: / { expfiles[expfileno] = \$2 @@ -287,8 +291,10 @@ BEGIN { /^Running / { print_using=0 if (variant == curvar) { + if (need_close) close(curfile) curfile="${TMP}/list"expfilesr[\$2] expfileseen[\$2]=expfileseen[\$2] + 1 + need_close=0 testname="00" next } @@ -303,11 +309,12 @@ BEGIN { /^$/ { if ("$MODE" == "sum") next } { if (variant == curvar && curfile) { if ("$MODE" == "sum") { - printf "%s %08d|", testname, cnt > curfile + printf "%s %08d|", testname, cnt >> curfile cnt = cnt + 1 } filewritten[curfile]=1 - print > curfile + need_close=1 + print >> curfile } else next } |