Patchwork [v3,testsuite] Fix merging default libstdc++.log

login
register
mail settings
Submitter Rainer Orth
Date April 16, 2012, 3:03 p.m.
Message ID <ydd8vhvyb0i.fsf@manam.CeBiTec.Uni-Bielefeld.DE>
Download mbox | patch
Permalink /patch/152888/
State New
Headers show

Comments

Rainer Orth - April 16, 2012, 3:03 p.m.
I've long noticed that libstdc++.log (unlike libstdc++.sum) doesn't
contain log entries for tests run from abi.exp, but hadn't looked
closer, getting used to check libstdc++.log.sep instead which contained
everything I expected.

This weekend, I've observed the same for the prettyprinters.exp failures
reported in PR libstdc++/53006 and decided to investigate.

It turns out that abi_check is the culprit: it emits its own summary in
a style similar to what DejaGnu does:

		=== libstdc++-v3 check-abi Summary ===

# of added symbols:		 0
# of missing symbols:		 0
# of undesignated symbols:	 0
# of incompatible symbols:	 0

using: baseline_symbols.txt

The header format is similar to what runtest emits, but the detail lines
below are completely different.

This is enought to seriously confuse contrib/dg-extract-results.sh -L
badly enough to assume that this header line ends one variant, which
otherwise only happens when doing multilib testing with intermediate
summaries like

		=== libstdc++ Summary for unix ===

# of expected passes		50

		=== libstdc++ Summary for unix/-m64 ===

# of expected passes		49
# of unexpected failures	1

My (admittedly equally hacky solution) was to change the check-abi
header format enough to avoid this confusion, and suddently the expected
abi.exp and prettyprinters.exp log entries show up in the merged
libstdc++.log as expected.

Bootstrapped on i386-pc-solaris2.11, ok for mainline?

Thanks.
	Rainer


2012-04-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* testsuite/util/testsuite_abi.cc (compare_symbols): Change
	summary header to avoid confision with DejaGnu header.
Mike Stump - April 16, 2012, 6:02 p.m.
On Apr 16, 2012, at 8:03 AM, Rainer Orth wrote:
> I've long noticed that libstdc++.log (unlike libstdc++.sum) doesn't
> contain log entries for tests run from abi.exp, but hadn't looked
> closer, getting used to check libstdc++.log.sep instead which contained
> everything I expected.

> ok for mainline?

Ok.  Would have been nice to see the before and after log file...

Patch

# HG changeset patch
# Parent 5fef8c66380e7570ac7c7a2b4b5aa94646c6bba4
Fix merging default libstdc++.log

diff --git a/libstdc++-v3/testsuite/util/testsuite_abi.cc b/libstdc++-v3/testsuite/util/testsuite_abi.cc
--- a/libstdc++-v3/testsuite/util/testsuite_abi.cc
+++ b/libstdc++-v3/testsuite/util/testsuite_abi.cc
@@ -530,7 +530,7 @@  compare_symbols(const char* baseline_fil
 	}
     }
 
-  cout << "\n\t\t=== libstdc++-v3 check-abi Summary ===" << endl;
+  cout << "\n\t\t==== libstdc++-v3 check-abi Summary ====" << endl;
   cout << endl;
   cout << "# of added symbols:\t\t " << added_names.size() << endl;
   cout << "# of missing symbols:\t\t " << missing_names.size() << endl;