
on Fri Mar 23 2007, "Zach Laine" <whatwasthataddress-AT-gmail.com> wrote:
On 3/22/07, Douglas Gregor <dgregor@osl.iu.edu> 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/is...
79 failures in 4 libraries iostreams (6)
<snip> please try to avoid overquoting. Also it's a good idea to put the library name concerned in the subject line, or its maintainer is likely to miss the message. Also it's a good idea to submit patches to the SF patch tracker or they are likely to slip away.
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 _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- Dave Abrahams Boost Consulting www.boost-consulting.com