diff --git a/src/test/serialize_tests.cpp b/src/test/serialize_tests.cpp index 885a91658d..415f957811 100644 --- a/src/test/serialize_tests.cpp +++ b/src/test/serialize_tests.cpp @@ -61,11 +61,13 @@ BOOST_AUTO_TEST_CASE(compactsize) static bool isCanonicalException(const std::ios_base::failure& ex) { - std::string strExplanatoryString("non-canonical ReadCompactSize()"); + std::ios_base::failure expectedException("non-canonical ReadCompactSize()"); - return strExplanatoryString == ex.what() || - // OSX Apple LLVM version 5.0 (OSX 10.9) - strExplanatoryString + ": unspecified iostream_category error" == ex.what(); + // The string returned by what() can be different for different platforms. + // Instead of directly comparing the ex.what() with an expected string, + // create an instance of exception to see if ex.what() matches + // the expected explanatory string returned by the exception instance. + return strcmp(expectedException.what(), ex.what()) == 0; }