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 <[email protected]>
* testsuite/util/testsuite_abi.cc (compare_symbols): Change
summary header to avoid confision with DejaGnu header.
# 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;
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University