boostorg/test — pull request #14 by mkurdej (2014-08-23 17:25:36+00:00)
Title: Fix incomplete BOOST_TEST_DONT_PRINT_LOG_VALUE when using BOOST_TEST_DON...

When we use a user-defined error without overloaded operator<<(std::ostream&, T const&), we have to use BOOST_TEST_DONT_PRINT_LOG_VALUE in order to prevent UTF to print output to log.
BOOST_TEST_DONT_PRINT_LOG_VALUE works correctly only if you use macros like BOOST_CHECK_EQUAL.
However, BOOST_CHECK_EQUAL_COLLECTIONS provokes compile-time error.

Fixes https://svn.boost.org/trac/boost/ticket/9390.

Error messages:
// MSVC:
// ./boost/test/utils/wrap_stringstream.hpp(66) : error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'const MyClass' (or there is no acceptable conversion)
// GCC:
// ./boost/test/utils/wrap_stringstream.hpp:66:19: error: no match for 'operator<<' (operand types are 'boost::basic_wrap_stringstream::wrapped_stream {aka std::basic_ostringstream}' and 'const MyClass')
// targ.stream() << t;