|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2007-03-23 16:57:03
on Fri Mar 23 2007, "Zach Laine" <whatwasthataddress-AT-gmail.com> wrote:
> 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)
<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
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk