
For some time already I'm receiving failed assertion error in iterator_facade test. The problem is that this error is displaying message box (is calling _assert function defined in CRT) that cannot be automatially closed by execution_monitor.exe . I suggest that BOOST_ASSERT(state == 8) in iterator_facade.cpp be changed to BOOST_CHECK_EQUAL(state, 8) . Actual value of "state" variable at this point in this test is 7, thus failed assertion. B.

Bronek Kozicki <brok@rubikon.pl> writes:
For some time already I'm receiving failed assertion error in iterator_facade test. The problem is that this error is displaying message box (is calling _assert function defined in CRT) that cannot be automatially closed by execution_monitor.exe . I suggest that BOOST_ASSERT(state == 8) in iterator_facade.cpp be changed to BOOST_CHECK_EQUAL(state, 8) . Actual value of "state" variable at this point in this test is 7, thus failed assertion.
The failure was caused by a missed checkin of new_iterator_tests.hpp; should be fixed now. If you want to change to BOOST_CHECK_EQUAL, feel free to make that patch. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

David Abrahams wrote:
The failure was caused by a missed checkin of new_iterator_tests.hpp; should be fixed now. If you want to change to BOOST_CHECK_EQUAL, feel free to make that patch.
OK, one problem is fixed. I just found that using BOOST_CHECK_EQUAL would require linking with test framework, and this would mean changes in Jamfile, thus I won't bother with this. There is however another problem - boost::noncopyable is not defined in <boost/noncopyable.hpp> . I suggest to move typedef boost::noncopyable to another file boost/detail/noncopyable_typedef.hpp and update both boost/noncopyable.hpp and boost/utility_fwd.hpp to include this file (noncopyable_typedef.hpp and patches attached) B. // Boost noncopyable.ipp header file --------------------------------------// // Copyright 2001, 2003, 2004 Beman Dawes and Daryle Walker // Use, modification, and distribution are // subject to the Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or a copy at <http://www.boost.org/LICENSE_1_0.txt>.) // See http://www.boost.org/libs/utility for documentation. #ifndef BOOST_DETAIL_NONCOPYABLE_TYPEDEF_HPP_INCLUDED #define BOOST_DETAIL_NONCOPYABLE_TYPEDEF_HPP_INCLUDED namespace boost { // From <boost/noncopyable.hpp> --------------------------------------------// namespace noncopyable_ { class noncopyable; } typedef noncopyable_::noncopyable noncopyable; } // namespace boost #endif // BOOST_DETAIL_NONCOPYABLE_TYPEDEF_HPP_INCLUDED Index: boost/boost/noncopyable.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/noncopyable.hpp,v retrieving revision 1.4 diff -u -a -b -w -r1.4 noncopyable.hpp --- boost/boost/noncopyable.hpp 19 Aug 2004 13:12:35 -0000 1.4 +++ boost/boost/noncopyable.hpp 20 Aug 2004 18:55:26 -0000 @@ -9,6 +9,8 @@ #ifndef BOOST_NONCOPYABLE_HPP_INCLUDED #define BOOST_NONCOPYABLE_HPP_INCLUDED +#include <boost/detail/noncopyable_typedef.hpp> + namespace boost { // Private copy constructor and copy assignment ensure classes derived from Index: boost/boost/utility_fwd.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/utility_fwd.hpp,v retrieving revision 1.9 diff -u -a -b -w -r1.9 utility_fwd.hpp --- boost/boost/utility_fwd.hpp 19 Aug 2004 13:12:35 -0000 1.9 +++ boost/boost/utility_fwd.hpp 20 Aug 2004 18:56:13 -0000 @@ -10,6 +10,8 @@ #ifndef BOOST_UTILITY_FWD_HPP #define BOOST_UTILITY_FWD_HPP +#include <boost/detail/noncopyable_typedef.hpp> + namespace boost { @@ -18,17 +20,6 @@ template < typename MemberType, int UniqueID = 0 > class base_from_member; -// From <boost/noncopyable.hpp> --------------------------------------------// - - namespace noncopyable_ - { - class noncopyable; - } - - typedef noncopyable_::noncopyable noncopyable; - -// Also has a few function templates - } // namespace boost

Bronek Kozicki wrote:
in Jamfile, thus I won't bother with this. There is however another problem - boost::noncopyable is not defined in <boost/noncopyable.hpp> .
Please throw it away. Much simpler is to just patch boost/noncopyable.hpp (see attached file). Anyway it might be not necessary, just lagged anonymous CVS is not showing current state of your fixes. B. Index: boost/boost/noncopyable.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/noncopyable.hpp,v retrieving revision 1.4 diff -u -a -b -w -r1.4 noncopyable.hpp --- boost/boost/noncopyable.hpp 19 Aug 2004 13:12:35 -0000 1.4 +++ boost/boost/noncopyable.hpp 20 Aug 2004 19:51:03 -0000 @@ -9,6 +9,8 @@ #ifndef BOOST_NONCOPYABLE_HPP_INCLUDED #define BOOST_NONCOPYABLE_HPP_INCLUDED +#include <boost/utility_fwd.hpp> + namespace boost { // Private copy constructor and copy assignment ensure classes derived from

Bronek Kozicki <brok@rubikon.pl> writes:
David Abrahams wrote:
The failure was caused by a missed checkin of new_iterator_tests.hpp; should be fixed now. If you want to change to BOOST_CHECK_EQUAL, feel free to make that patch.
OK, one problem is fixed. I just found that using BOOST_CHECK_EQUAL would require linking with test framework, and this would mean changes in Jamfile, thus I won't bother with this. There is however another problem - boost::noncopyable is not defined in <boost/noncopyable.hpp>
It is on my machine. I've enclosed the file for your reading pleasure.
. I suggest to move typedef boost::noncopyable to another file boost/detail/noncopyable_typedef.hpp and update both boost/noncopyable.hpp and boost/utility_fwd.hpp to include this file (noncopyable_typedef.hpp and patches attached)
Overkill, I think. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com
participants (2)
-
Bronek Kozicki
-
David Abrahams