The Linux Foundation

 

Become an Individual Member

QmtestCplusplus

From The Linux Foundation

Contents

Pilot Program for qmtest_libstdcpp

See also TestPilot2 for the overall LSB 2.0 testing pilot program.

Now that the test suite is released, see download page for rpms

Special note: see CppBuildInstructions for how to build the rpms.

Dependencies

  • lsb-python from appbat - see download page
  • lsb-core-arch provided by package manager, may need to install lsb-dummy package - see [1]
  • qm - see download page
  • The test currently requires a number of locales in order to run correctly: en_US, en_PH, en_HK, es_MX, de_DE, de_DE@euro, fr_FR, fr_FR@euro, it_IT. This should get cleaned up someday, and is tracked as bug 591

Results from running qmtest_libstdcpp

For the 2.0 certification release, one test failure is expected. This one is granted as a Test Suite Deficiency: TSD 65.

24_iterators/istreambuf_iterator.cc           : FAIL 

This test hangs in a loop; the test harness aborts it and reports a failure. It's believed to be a problem with the way the test is built, as we don't see this failure on a "native" build. Still being investigated as bug 588

If the symbol visibility changes that went into gcc cvs post-3.3.4 are not in place, there will be an additional test failure reported, as some required symbols will be missing:

v3_abi_test                                   : FAIL

Update: these changes are now part of released upstream product - gcc 3.3.5 and the 3.4 series.


Old Information

The remaining information is obsolete, from before the released version. Left here (for a while) for historical purposes.


Note the build environment is to use lsbc++ (LSB's c++ headers generated from gcc 3.3.4) and to run against the C++ library from the lsbsi for that architecture when generating the baseline. This is an attempt to eliminate any distro specifics at build time.

These eight tests fail to compile when the test suite is built. Six of them are unique to the process of building with lsbc++ and probably indicate problems in the set of headers. The other two appear to be consistent with "native" builds and are probably generic.

20_util/auto_ptr_neg.cc                       : FAIL    
22_locale/num_get_members_char.cc             : FAIL    
22_locale/num_get_members_wchar_t.cc          : FAIL    
22_locale/num_put_members_char.cc             : FAIL    
22_locale/num_put_members_wchar_t.cc          : FAIL    
26_numerics/c99_classification_macros_c.cc    : FAIL    
26_numerics/complex_inserters_extractors.cc   : FAIL    
27_io/ios_init.cc                             : FAIL  
The two generic failures are
20_util/auto_ptr_neg.cc
, which is actually a regression test that a compile which should fail does not succeed, and
26_numerics/c99_classification_macros_c.cc
.

Further analysis Oct 20 2004: the num*members* fails are due to several bugs. First, c++config.h in the lsbc++ headers is incorrect (bug 598). When fixed manually, there's a problem with <sys/resource.h> missing RLIMIT_RSS, which is used by the test (bug 593). When this is fixed manually, the build fails on missing symbols in the stub library (bug 597). When all are addressed manually, these four tests build fine.


These tests are seen to fail on Mandrake 10.1:

22_locale/ctype_is_char.cc                    : FAIL - segfault
22_locale/global_templates.cc                 : FAIL - segfault
22_locale/messages_byname.cc                  : FAIL - segfault
22_locale/static_members.cc                   : FAIL - segfault
22_locale/time_put_members_char.cc            : FAIL - segfault
22_locale/time_put_members_wchar_t.cc         : FAIL - segfault
24_iterators/istreambuf_iterator.cc           : FAIL - never returns, pegs cpu
27_io/filebuf_virtuals.cc                     : FAIL - segfault
27_io/ostream_inserter_char.cc                : FAIL - segfault
v3_abi_test                                   : FAIL

The abi_test fails are due to flagging any extra symbols beyond the baseline as a failure, but this should not be an LSB runtime failure. bug 571.

strace shows
messages_byname.cc
is not finding files
/usr/share/locale/en_US/LC_MESSAGES/libstdc++.mo
and
/usr/share/locale/en/LC_MESSAGES/libstdc++.mo
. However, this does not actually seem to be the cause of the failure test failure.
filebuf_virtuals.cc
is not finding
filebuf_virtuals-1.txt
- maybe in wrong place? the file is at
/opt/lsb/test/share/qmtest_libstdcpp_3.3.3/testsuite/27_io/filebuf_virtuals-1.txt
. Again, this does not seem to be the actual failure cause.

These tests are seen to fail on ia32 on Debian Sarge (Testing) (around Oct 14 2004), and on SuSE 9.1:

22_locale/ctype_is_char.cc                    : FAIL
22_locale/messages_byname.cc                  : FAIL
22_locale/static_members.cc                   : FAIL
22_locale/time_put_members_char.cc            : FAIL
22_locale/time_put_members_wchar_t.cc         : FAIL
24_iterators/istreambuf_iterator.cc           : FAIL
27_io/filebuf_virtuals.cc                     : FAIL

A self-built test - compiling on the test machine instead of using the pre-built binary rpm - seems to result in a single consistent failure:

24_iterators/istreambuf_iterator.cc           : FAIL 

This test hangs in a loop. Reason unknown - this may be a generic library or testsuite bug.


[Article] [Discussion] [View source] [History]