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 <r...@cebitec.uni-bielefeld.de> * 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