format: disable hexfloat tests under msys2

These conversions appear to be broken under msys2.
This commit is contained in:
Danny Robson 2018-08-13 16:02:18 +10:00
parent b60aaccf6f
commit ce67836e8e

View File

@ -19,9 +19,9 @@ main (void)
{
cruft::TAP::logger tap;
#define CHECK_RENDER(fmt,res,...) do { \
auto val = to_string (cruft::format::printf (fmt)(__VA_ARGS__)); \
tap.expect_eq (val, res, "render '%s'", fmt); \
#define CHECK_RENDER(fmt,res,...) do { \
auto val = to_string (cruft::format::printf (fmt)(__VA_ARGS__)); \
tap.expect_eq (val, res, "render '%!', # %! == %!", fmt, val, res); \
} while (0)
CHECK_RENDER ("foo", "foo");
@ -90,15 +90,23 @@ main (void)
CHECK_RENDER ("%+e", "+1.234568e+00", 1.2345678);
CHECK_RENDER ("%+f", "+1.234568", 1.2345678);
CHECK_RENDER ("%+g", "+1.23457", 1.2345678);
CHECK_RENDER ("%+a", "+0x1.3c0ca2a5b1d5dp+0", 1.2345678);
#if !defined(PLATFORM_WIN32)
// msys2#xxx: hexfloat output is broken under msys2
CHECK_RENDER ("%+a", "+0x1.3c0ca2a5b1d5dp+0", +0x1.3c0ca2a5b1d5dp+0);
CHECK_RENDER ("%+a", "+0x1.3c0ca2a5b1d5dp+0", +0x1.0p+0);
#endif
CHECK_RENDER ("%#.e", "1.e+00", 1.2345678);
CHECK_RENDER ("%#.f", "1.", 1.2345678);
CHECK_RENDER ("%#.g", "1.", 1.2345678);
//CHECK_RENDER ("%#.a", "0x1.p+0", 1.2345678);
CHECK_RENDER ("%a", "0x1.3c0ca2a5b1d5dp+0", 1.2345678);
CHECK_RENDER ("%A", "0X1.3C0CA2A5B1D5DP+0", 1.2345678);
#if !defined(PLATFORM_WIN32)
// msys2#xxx: hexfloat output is broken under msys2
CHECK_RENDER ("%a", "0x1.3c0ca2a5b1d5dp+0", 0x1.3c0ca2a5b1d5dp+0);
CHECK_RENDER ("%A", "0X1.3C0CA2A5B1D5DP+0", 0X1.3C0CA2A5B1D5DP+0);
#endif
CHECK_RENDER ("%e", "inf", std::numeric_limits<double>::infinity ());
CHECK_RENDER ("%E", "INF", std::numeric_limits<double>::infinity ());