This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

New DejaGNU parsing and comparison scripts in contrib


I've committed some code for parsing DejaGNU log/sum files and doing three-way comparisons to contrib.

dglib.pm is a perl module which implements a "parseLogFile" function. parseLogFile will take a DejaGNU log or sum file and return a detailed parse of the file. Tests will be broken into groups, and multi-phase (compile/link/execute) test results will be combined for instance:
FAIL: gcc.dg/c-torture/link/20000105-1.c -O0 (test for excess errors)
will become something like:
gcc.dg
c-torture
compile/link/execute
20000105-1.c
-O0 (test for excess errors)
where 20000105-1.c is a test group, which is inside the "compile/link/ execute" test group, which is inside the "c-torture" test group, which is inside the "gcc.dg" test group. "-O0 (test for excess errors)" is the test name. It will have the result "FAIL", and it will have a 'result detail' of "link phase".


It will also associate non-result lines in the log file with their respective results.


compareSumTests3 is a script written on top of this which can do a three-way comparison between DejaGNU .sum (or .log) files. It's designed for doing a merge of branch A into branch B, where you have two "old" compilers (the pre-merge compiler on branch A, 'old1', and the pre-merge compiler on branch B, 'old2') and one "new" compiler (the post-merge compiler.) It will tell you things like "these tests were working in both old compilers but are broken after the merge", or "these tests only worked in old1."


I hope people find them useful. Feel free to contact me with questions, comments, &c.

--
Matthew Sachs <msachs@apple.com> [AIM: MattSachs]
Compiler Quality Engineer, Apple Computer


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]