catch c++ abort
This commit is contained in:
parent
9453d93f15
commit
4040eebf10
1 changed files with 105 additions and 97 deletions
|
@ -7,105 +7,113 @@ int main( int, char*[] )
|
||||||
{
|
{
|
||||||
using mapnik::util::to_string;
|
using mapnik::util::to_string;
|
||||||
|
|
||||||
std::string out;
|
try
|
||||||
|
{
|
||||||
// Test double
|
std::string out;
|
||||||
to_string(out, double(0));
|
|
||||||
BOOST_TEST_EQ( out, "0" );
|
// Test double
|
||||||
out.clear();
|
to_string(out, double(0));
|
||||||
|
BOOST_TEST_EQ( out, "0" );
|
||||||
to_string(out, double(1));
|
out.clear();
|
||||||
BOOST_TEST_EQ( out, "1" );
|
|
||||||
out.clear();
|
to_string(out, double(1));
|
||||||
|
BOOST_TEST_EQ( out, "1" );
|
||||||
to_string(out, double(-1));
|
out.clear();
|
||||||
BOOST_TEST_EQ( out, "-1" );
|
|
||||||
out.clear();
|
to_string(out, double(-1));
|
||||||
|
BOOST_TEST_EQ( out, "-1" );
|
||||||
to_string(out, double(0.1));
|
out.clear();
|
||||||
BOOST_TEST_EQ( out, "0.1" );
|
|
||||||
out.clear();
|
to_string(out, double(0.1));
|
||||||
|
BOOST_TEST_EQ( out, "0.1" );
|
||||||
to_string(out, double(-0.1));
|
out.clear();
|
||||||
BOOST_TEST_EQ( out, "-0.1" );
|
|
||||||
out.clear();
|
to_string(out, double(-0.1));
|
||||||
|
BOOST_TEST_EQ( out, "-0.1" );
|
||||||
to_string(out, double(0.123));
|
out.clear();
|
||||||
BOOST_TEST_EQ( out, "0.123" );
|
|
||||||
out.clear();
|
to_string(out, double(0.123));
|
||||||
|
BOOST_TEST_EQ( out, "0.123" );
|
||||||
to_string(out, double(-0.123));
|
out.clear();
|
||||||
BOOST_TEST_EQ( out, "-0.123" );
|
|
||||||
out.clear();
|
to_string(out, double(-0.123));
|
||||||
|
BOOST_TEST_EQ( out, "-0.123" );
|
||||||
to_string(out, double(1e-06));
|
out.clear();
|
||||||
BOOST_TEST_EQ( out, "1e-06" );
|
|
||||||
out.clear();
|
to_string(out, double(1e-06));
|
||||||
|
BOOST_TEST_EQ( out, "1e-06" );
|
||||||
to_string(out, double(-1e-06));
|
out.clear();
|
||||||
BOOST_TEST_EQ( out, "-1e-06" );
|
|
||||||
out.clear();
|
to_string(out, double(-1e-06));
|
||||||
|
BOOST_TEST_EQ( out, "-1e-06" );
|
||||||
to_string(out, double(1e-05));
|
out.clear();
|
||||||
BOOST_TEST_EQ( out, "0.00001" );
|
|
||||||
out.clear();
|
to_string(out, double(1e-05));
|
||||||
|
BOOST_TEST_EQ( out, "0.00001" );
|
||||||
to_string(out, double(-1e-05));
|
out.clear();
|
||||||
BOOST_TEST_EQ( out, "-0.00001" );
|
|
||||||
out.clear();
|
to_string(out, double(-1e-05));
|
||||||
|
BOOST_TEST_EQ( out, "-0.00001" );
|
||||||
to_string(out, double(0.0001));
|
out.clear();
|
||||||
BOOST_TEST_EQ( out, "0.0001" );
|
|
||||||
out.clear();
|
to_string(out, double(0.0001));
|
||||||
|
BOOST_TEST_EQ( out, "0.0001" );
|
||||||
to_string(out, double(-0.0001));
|
out.clear();
|
||||||
BOOST_TEST_EQ( out, "-0.0001" );
|
|
||||||
out.clear();
|
to_string(out, double(-0.0001));
|
||||||
|
BOOST_TEST_EQ( out, "-0.0001" );
|
||||||
to_string(out, double(0.0001234567890123456));
|
out.clear();
|
||||||
BOOST_TEST_EQ( out, "0.0001234567890123456" );
|
|
||||||
out.clear();
|
to_string(out, double(0.0001234567890123456));
|
||||||
|
BOOST_TEST_EQ( out, "0.0001234567890123456" );
|
||||||
to_string(out, double(-0.0001234567890123456));
|
out.clear();
|
||||||
BOOST_TEST_EQ( out, "-0.0001234567890123456" );
|
|
||||||
out.clear();
|
to_string(out, double(-0.0001234567890123456));
|
||||||
|
BOOST_TEST_EQ( out, "-0.0001234567890123456" );
|
||||||
to_string(out, double(1000000000000000));
|
out.clear();
|
||||||
BOOST_TEST_EQ( out, "1000000000000000" );
|
|
||||||
out.clear();
|
to_string(out, double(1000000000000000));
|
||||||
|
BOOST_TEST_EQ( out, "1000000000000000" );
|
||||||
to_string(out, double(-1000000000000000));
|
out.clear();
|
||||||
BOOST_TEST_EQ( out, "-1000000000000000" );
|
|
||||||
out.clear();
|
to_string(out, double(-1000000000000000));
|
||||||
|
BOOST_TEST_EQ( out, "-1000000000000000" );
|
||||||
to_string(out, double(100000000000000.1));
|
out.clear();
|
||||||
BOOST_TEST_EQ( out, "100000000000000.1" );
|
|
||||||
out.clear();
|
to_string(out, double(100000000000000.1));
|
||||||
|
BOOST_TEST_EQ( out, "100000000000000.1" );
|
||||||
to_string(out, double(1.00001));
|
out.clear();
|
||||||
BOOST_TEST_EQ( out, "1.00001" );
|
|
||||||
out.clear();
|
to_string(out, double(1.00001));
|
||||||
|
BOOST_TEST_EQ( out, "1.00001" );
|
||||||
to_string(out, double(1234000000000000));
|
out.clear();
|
||||||
BOOST_TEST_EQ( out, "1234000000000000" );
|
|
||||||
out.clear();
|
to_string(out, double(1234000000000000));
|
||||||
|
BOOST_TEST_EQ( out, "1234000000000000" );
|
||||||
to_string(out, double(1.234e+16));
|
out.clear();
|
||||||
BOOST_TEST_EQ( out, "1.234e+16" );
|
|
||||||
out.clear();
|
to_string(out, double(1.234e+16));
|
||||||
|
BOOST_TEST_EQ( out, "1.234e+16" );
|
||||||
to_string(out, double(-1.234e+16));
|
out.clear();
|
||||||
BOOST_TEST_EQ( out, "-1.234e+16" );
|
|
||||||
out.clear();
|
to_string(out, double(-1.234e+16));
|
||||||
|
BOOST_TEST_EQ( out, "-1.234e+16" );
|
||||||
// Test int
|
out.clear();
|
||||||
|
|
||||||
to_string(out, int(2));
|
// Test int
|
||||||
BOOST_TEST_EQ( out, "2" );
|
|
||||||
out.clear();
|
to_string(out, int(2));
|
||||||
|
BOOST_TEST_EQ( out, "2" );
|
||||||
|
out.clear();
|
||||||
|
}
|
||||||
|
catch (std::exception const & ex)
|
||||||
|
{
|
||||||
|
std::clog << "C++ type conversions problem: " << ex.what() << "\n";
|
||||||
|
BOOST_TEST(false);
|
||||||
|
}
|
||||||
|
|
||||||
if (!::boost::detail::test_errors()) {
|
if (!::boost::detail::test_errors()) {
|
||||||
std::clog << "C++ exceptions: \x1b[1;32m✓ \x1b[0m\n";
|
std::clog << "C++ type conversions: \x1b[1;32m✓ \x1b[0m\n";
|
||||||
#if BOOST_VERSION >= 104600
|
#if BOOST_VERSION >= 104600
|
||||||
::boost::detail::report_errors_remind().called_report_errors_function = true;
|
::boost::detail::report_errors_remind().called_report_errors_function = true;
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue