Boost logo

Boost :

From: Zach Laine (whatwasthataddress_at_[hidden])
Date: 2007-03-23 16:22:32


On 3/22/07, Douglas Gregor <dgregor_at_[hidden]> wrote:
> Boost Regression test failures
> Report time: 2007-03-22T00:20:02Z
>
> This report lists all regression test failures on release platforms.
>
> Detailed report:
> http://engineering.meta-comm.com/boost-regression/CVS-RC_1_34_0/developer/issues.html
>
> 79 failures in 4 libraries
> iostreams (6)
> optional (6)
> parameter (1)
> python (66)
>
>
> |iostreams|
> bzip2_test: msvc-7.1 msvc-8.0
> gzip_test: msvc-7.1 msvc-8.0
> zlib_test: msvc-7.1 msvc-8.0
>
> |optional|
> optional_test: msvc-6.5 msvc-6.5 msvc-6.5_stlport4 msvc-7.0
> optional_test_ref_fail2: msvc-7.1 msvc-8.0
>
> |parameter|
> python_test: gcc-cygwin-3.4.4
>
> |python|
> bases: gcc-4.1.1_sunos_i86pc
> builtin_converters: gcc-3.4.5_linux gcc-4.0.3_linux gcc-4.1.0_linux gcc-4.1.0_linux_x86_64
> crossmod_exception: gcc-3.2.3_linux gcc-3.3.6_linux gcc-3.4.5_linux gcc-3.4.5_linux_x86_64 gcc-4.0.3_linux gcc-4.1.0_linux gcc-4.1.0_linux_x86_64 intel-linux-9.0
> crossmod_opaque: gcc-3.2.3_linux gcc-3.3.6_linux gcc-3.4.5_linux gcc-3.4.5_linux_x86_64 gcc-4.0.3_linux gcc-4.1.0_linux gcc-4.1.0_linux_x86_64 intel-linux-9.0
> exec: gcc-4.1.1_sunos_i86pc
> exec-dynamic: gcc-3.4.5_linux gcc-4.0.3_linux gcc-4.1.0_linux gcc-4.1.0_linux_x86_64 gcc-4.1.1_sunos_i86pc
> import_: cw-9.4 gcc-4.1.0_linux_x86_64 gcc-mingw-3.4.2 gcc-mingw-3.4.5 intel-vc71-win-9.1 msvc-6.5 msvc-6.5 msvc-6.5_stlport4 msvc-7.0 msvc-7.1 msvc-7.1 msvc-7.1 msvc-7.1_stlport4 msvc-8.0 msvc-8.0 msvc-8.0
> iterator: gcc-3.2.3_linux gcc-3.3.6_linux gcc-3.4.5_linux gcc-3.4.5_linux_x86_64 gcc-4.0.3_linux gcc-4.1.0_linux gcc-4.1.0_linux_x86_64 intel-linux-9.0
> map_indexing_suite: gcc-3.4.5_linux gcc-4.0.3_linux gcc-4.1.0_linux gcc-4.1.0_linux_x86_64
> pointee: gcc-4.1.1_sunos_i86pc
> pointer_type_id_test: gcc-4.1.1_sunos_i86pc
> try: gcc-3.2.3_linux gcc-3.3.6_linux gcc-3.4.5_linux gcc-3.4.5_linux_x86_64 gcc-4.0.3_linux gcc-4.1.0_linux gcc-4.1.0_linux_x86_64 intel-linux-9.0
> upcast: gcc-4.1.1_sunos_i86pc
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>

It appears that the signals trackable_test.cpp is failing to report
that under GCC 4.1, and later AFAIK, boost::signals::trackable does
not work. Something about the test case must be avoiding this
failure. If you apply the patch below, which is a bit simpler than
the test code already there, the test fails:

Index: trackable_test.cpp
===================================================================
RCS file: /cvsroot/boost/boost/libs/signals/test/trackable_test.cpp,v
retrieving revision 1.9
diff -u -r1.9 trackable_test.cpp
--- trackable_test.cpp 30 Sep 2006 13:46:07 -0000 1.9
+++ trackable_test.cpp 23 Mar 2007 20:12:32 -0000
@@ -15,6 +15,11 @@
   ~short_lived() {}
 };

+struct short_lived_2 : public boost::BOOST_SIGNALS_NAMESPACE::trackable {
+ ~short_lived_2() {}
+ int f() { return 1; }
+};
+
 struct swallow {
   template<typename T> int operator()(const T*, int i) { return i; }
 };
@@ -51,6 +56,18 @@
   }
   BOOST_CHECK(s1(5) == 0);

+ // Test auto-disconnection, part 2
+ int value = 0;
+ BOOST_CHECK(value == 0);
+ {
+ short_lived_2 *shorty_2 = new short_lived_2;
+ boost::signal0<int> s2;
+ s2.connect(boost::bind(&short_lived_2::f, shorty_2));
+ delete shorty_2;
+ value = s2();
+ }
+ BOOST_CHECK(value == 0);
+
   // Test auto-disconnection of slot before signal connection
   {
     short_lived* shorty = new short_lived();

Note that this is not a regression per se. Trackable seems to have
this problem under GCC 4.1 for versions 1.32, 1.33.1, HEAD, and
RC_1_34_0. Even so, it would be a shame if the next release did not
contain a fix or workaround of some kind.

Zach Laine


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk