id summary reporter owner description type status milestone component version severity resolution keywords cc 4785 test_output fails on systems that don't zero-fill the exponent to three digits Jim Bell Steven Watanabe "test_output fails to match strings exactly on systems that don't zero-fill the exponent in scientific notation to three digits, or boost::units::engineering_prefix doesn't set that explicitly as it should. So you get {{{ ""9.99999e-25 meter"" != ""9.99999e-025 meter"" }}} even though those two values are clearly the same. If controlling this is as difficult as it seems to be (see [http://stackoverflow.com/questions/268604/how-to-set-the-width-of-the-exponent-field-for-an-ostream here]), you could change the comparison to a regex_match with the regex {{{ ""9\.99999e-0?25 meter"" }}} ---- {{{ Run [2010-10-23 06:57:11 UTC]: fail Running 14 test cases... ../libs/units/test/test_output.cpp(280): error in ""test_output_autoprefixed_quantity_name"": check ss.str() == ""9.99999e-025 meter"" failed [9.99999e-25 meter != 9.99999e-025 meter] ../libs/units/test/test_output.cpp(280): error in ""test_output_autoprefixed_quantity_name"": check ss.str() == L""9.99999e-025 meter"" failed ../libs/units/test/test_output.cpp(281): error in ""test_output_autoprefixed_quantity_name"": check ss.str() == ""1e+028 meter"" failed [1e+28 meter != 1e+028 meter] ../libs/units/test/test_output.cpp(281): error in ""test_output_autoprefixed_quantity_name"": check ss.str() == L""1e+028 meter"" failed ../libs/units/test/test_output.cpp(282): error in ""test_output_autoprefixed_quantity_name"": check ss.str() == ""1.5e-025 meter"" failed [1.5e-25 meter != 1.5e-025 meter] ../libs/units/test/test_output.cpp(282): error in ""test_output_autoprefixed_quantity_name"": check ss.str() == L""1.5e-025 meter"" failed ../libs/units/test/test_output.cpp(283): error in ""test_output_autoprefixed_quantity_name"": check ss.str() == ""1.5e+028 meter"" failed [1.5e+28 meter != 1.5e+028 meter] ../libs/units/test/test_output.cpp(283): error in ""test_output_autoprefixed_quantity_name"": check ss.str() == L""1.5e+028 meter"" failed ../libs/units/test/test_output.cpp(285): error in ""test_output_autoprefixed_quantity_name"": check ss.str() == ""3.40282e+038 meter"" failed [3.40282e+38 meter != 3.40282e+038 meter] ../libs/units/test/test_output.cpp(285): error in ""test_output_autoprefixed_quantity_name"": check ss.str() == L""3.40282e+038 meter"" failed ../libs/units/test/test_output.cpp(286): error in ""test_output_autoprefixed_quantity_name"": check ss.str() == ""1.17549e-038 meter"" failed [1.17549e-38 meter != 1.17549e-038 meter] ../libs/units/test/test_output.cpp(286): error in ""test_output_autoprefixed_quantity_name"": check ss.str() == L""1.17549e-038 meter"" failed ../libs/units/test/test_output.cpp(341): error in ""test_output_autoprefixed_quantity_symbol"": check ss.str() == ""9.99999e-025 m"" failed [9.99999e-25 m != 9.99999e-025 m] ../libs/units/test/test_output.cpp(341): error in ""test_output_autoprefixed_quantity_symbol"": check ss.str() == L""9.99999e-025 m"" failed ../libs/units/test/test_output.cpp(342): error in ""test_output_autoprefixed_quantity_symbol"": check ss.str() == ""1e+028 m"" failed [1e+28 m != 1e+028 m] ../libs/units/test/test_output.cpp(342): error in ""test_output_autoprefixed_quantity_symbol"": check ss.str() == L""1e+028 m"" failed ../libs/units/test/test_output.cpp(343): error in ""test_output_autoprefixed_quantity_symbol"": check ss.str() == ""1.5e-025 m"" failed [1.5e-25 m != 1.5e-025 m] ../libs/units/test/test_output.cpp(343): error in ""test_output_autoprefixed_quantity_symbol"": check ss.str() == L""1.5e-025 m"" failed ../libs/units/test/test_output.cpp(344): error in ""test_output_autoprefixed_quantity_symbol"": check ss.str() == ""1.5e+028 m"" failed [1.5e+28 m != 1.5e+028 m] ../libs/units/test/test_output.cpp(344): error in ""test_output_autoprefixed_quantity_symbol"": check ss.str() == L""1.5e+028 m"" failed ../libs/units/test/test_output.cpp(346): error in ""test_output_autoprefixed_quantity_symbol"": check ss.str() == ""3.40282e+038 m"" failed [3.40282e+38 m != 3.40282e+038 m] ../libs/units/test/test_output.cpp(346): error in ""test_output_autoprefixed_quantity_symbol"": check ss.str() == L""3.40282e+038 m"" failed ../libs/units/test/test_output.cpp(347): error in ""test_output_autoprefixed_quantity_symbol"": check ss.str() == ""1.17549e-038 m"" failed [1.17549e-38 m != 1.17549e-038 m] ../libs/units/test/test_output.cpp(347): error in ""test_output_autoprefixed_quantity_symbol"": check ss.str() == L""1.17549e-038 m"" failed *** 24 failures detected in test suite ""Master Test Suite"" }}} " Bugs closed Boost 1.45.0 units Boost Development Trunk Regression fixed jim@…