This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: parallel check output changes?
- From: Richard Sandiford <richard dot sandiford at arm dot com>
- To: Segher Boessenkool <segher at kernel dot crashing dot org>
- Cc: Jakub Jelinek <jakub at redhat dot com>, Bernd Schmidt <bernds at codesourcery dot com>, Andrew MacLeod <amacleod at redhat dot com>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 23 Sep 2014 16:33:19 +0100
- Subject: Re: parallel check output changes?
- Authentication-results: sourceware.org; auth=none
- References: <541AD692 dot 4030907 at redhat dot com> <20140918130109 dot GH17454 at tucnak dot redhat dot com> <541AD880 dot 7080703 at redhat dot com> <541AF451 dot 3070406 at redhat dot com> <541B1710 dot 8060809 at codesourcery dot com> <20140918173609 dot GM17454 at tucnak dot redhat dot com> <20140918184455 dot GB28595 at gate dot crashing dot org> <20140919093723 dot GA26414 at gate dot crashing dot org>
Segher Boessenkool <segher@kernel.crashing.org> writes:
> On Thu, Sep 18, 2014 at 01:44:55PM -0500, Segher Boessenkool wrote:
>> I am testing a patch that is just
>>
>>
>> diff --git a/contrib/dg-extract-results.py b/contrib/dg-extract-results.py
>> index cccbfd3..3781423 100644
>> --- a/contrib/dg-extract-results.py
>> +++ b/contrib/dg-extract-results.py
>> @@ -117,7 +117,7 @@ class Prog:
>> self.tool_re = re.compile (r'^\t\t=== (.*) tests ===$')
>> self.result_re = re.compile (r'^(PASS|XPASS|FAIL|XFAIL|UNRESOLVED'
>> r'|WARNING|ERROR|UNSUPPORTED|UNTESTED'
>> - r'|KFAIL):\s*(\S+)')
>> + r'|KFAIL):\s*(.+)')
>> self.completed_re = re.compile (r'.* completed at (.*)')
>> # Pieces of text to write at the head of the output.
>> # start_line is a pair in which the first element is a datetime
>
> Tested that with four runs on powerpc64-linux, four configs each time;
> test-summary
> shows the same in all cases. Many lines have moved compared to without
> the patch, but that cannot be helped. Okay for mainline?
>
>
> 2014-09-19 Segher Boessenkool <segher@kernel.crashing.org>
>
> contrib/
> * dg-extract-results.py (Prog.result_re): Include options in test name.
FWIW, the \S+ thing was deliberate. When one test is run multiple times
with different options, those options aren't necessarily tried in
alphabetical order. The old sh/awk script therefore used just the test
name as the key and kept tests with the same name in the order that
they were encountered:
/^(PASS|XPASS|FAIL|XFAIL|UNRESOLVED|WARNING|ERROR|UNSUPPORTED|UNTESTED|KFAIL):/ {
testname=\$2
# Ugly hack for gfortran.dg/dg.exp
if ("$TOOL" == "gfortran" && testname ~ /^gfortran.dg\/g77\//)
testname="h"testname
}
(note the "$2"). This means that the output of the script is in the same
order as it would be for non-parallel runs. I was following (or trying
to follow) that behaviour in the python script.
Your patch instead sorts based on the full test name, including options,
which means that the output no longer matches what you'd get from a
non-parallel run. AFAICT, it also no longer matches what you'd get from
the .sh version. That might be OK, just thought I'd mention it.
Thanks,
Richard