Simplify 03/11 mismatch test because of MinGW; message() doesn't work

This commit is contained in:
Peter Dimov
2017-07-24 12:29:32 +03:00
parent c639237adf
commit a0fb1f2d41
2 changed files with 10 additions and 24 deletions

View File

@ -288,14 +288,15 @@ namespace boost
return pc_->name(); return pc_->name();
} }
virtual std::string message( int ev ) const // we can't define message, because (1) it returns an std::string,
{ // which can be different between 03 and 11, and (2) on mingw, there
return pc_->message( ev ); // are actually two `message` functions, not one, so it doesn't work
} // even if we do
// we can't define default_error_condition or equivalent, // neither can we define default_error_condition or equivalent
// so if called, it will crash, but that's still better than the
// alternative // if these functions are called, it will crash, but that's still
// better than the alternative of having the class layout change
}; };
std_category std_cat_; std_category std_cat_;

View File

@ -38,15 +38,7 @@ static void test_generic_category()
std::error_category const & st = bt; std::error_category const & st = bt;
BOOST_TEST_CSTR_EQ( bt.name(), st.name() ); BOOST_TEST_CSTR_EQ( bt.name(), st.name() );
BOOST_TEST_EQ( bt.name(), st.name() );
int ev = ENOENT;
BOOST_TEST_EQ( bt.message( ev ), st.message( ev ) );
boost::system::error_code bc( ev, bt );
std::error_code sc( bc );
BOOST_TEST_EQ( bc.message(), sc.message() );
} }
static void test_system_category() static void test_system_category()
@ -55,14 +47,7 @@ static void test_system_category()
std::error_category const & st = bt; std::error_category const & st = bt;
BOOST_TEST_CSTR_EQ( bt.name(), st.name() ); BOOST_TEST_CSTR_EQ( bt.name(), st.name() );
BOOST_TEST_EQ( bt.name(), st.name() );
int ev = 5;
BOOST_TEST_EQ( bt.message( ev ), st.message( ev ) );
boost::system::error_code bc( ev, bt );
std::error_code sc( bc );
BOOST_TEST_EQ( bc.message(), sc.message() );
} }
int main() int main()