Refactor custom precision in floating point stringification

Also fixup tests.
This commit is contained in:
Martin Hořeňovský
2019-05-02 21:32:54 +02:00
parent 53a83e855e
commit 1161011dd0
8 changed files with 127 additions and 57 deletions

View File

@@ -859,6 +859,10 @@ Condition.tests.cpp:<line number>: passed: cpc != 0 for: 0x<hex digits> != 0
Condition.tests.cpp:<line number>: passed: returnsNull() == 0 for: {null string} == 0
Condition.tests.cpp:<line number>: passed: returnsConstNull() == 0 for: {null string} == 0
Condition.tests.cpp:<line number>: passed: 0 != p for: 0 != 0x<hex digits>
ToStringGeneral.tests.cpp:<line number>: passed: str1.size() == 3 + 5 for: 8 == 8
ToStringGeneral.tests.cpp:<line number>: passed: str2.size() == 3 + 10 for: 13 == 13
ToStringGeneral.tests.cpp:<line number>: passed: str1.size() == 2 + 5 for: 7 == 7
ToStringGeneral.tests.cpp:<line number>: passed: str2.size() == 2 + 15 for: 17 == 17
Matchers.tests.cpp:<line number>: passed: "foo", Predicate<const char*>([] (const char* const&) { return true; }) for: "foo" matches undescribed predicate
CmdLine.tests.cpp:<line number>: passed: result for: {?}
CmdLine.tests.cpp:<line number>: passed: config.processName == "" for: "" == ""

View File

@@ -1299,6 +1299,6 @@ due to unexpected exception with message:
Why would you throw a std::string?
===============================================================================
test cases: 266 | 199 passed | 63 failed | 4 failed as expected
assertions: 1449 | 1304 passed | 124 failed | 21 failed as expected
test cases: 267 | 200 passed | 63 failed | 4 failed as expected
assertions: 1453 | 1308 passed | 124 failed | 21 failed as expected

View File

@@ -6192,6 +6192,40 @@ Condition.tests.cpp:<line number>: PASSED:
with expansion:
0 != 0x<hex digits>
-------------------------------------------------------------------------------
Precision of floating point stringification can be set
Floats
-------------------------------------------------------------------------------
ToStringGeneral.tests.cpp:<line number>
...............................................................................
ToStringGeneral.tests.cpp:<line number>: PASSED:
CHECK( str1.size() == 3 + 5 )
with expansion:
8 == 8
ToStringGeneral.tests.cpp:<line number>: PASSED:
REQUIRE( str2.size() == 3 + 10 )
with expansion:
13 == 13
-------------------------------------------------------------------------------
Precision of floating point stringification can be set
Double
-------------------------------------------------------------------------------
ToStringGeneral.tests.cpp:<line number>
...............................................................................
ToStringGeneral.tests.cpp:<line number>: PASSED:
CHECK( str1.size() == 2 + 5 )
with expansion:
7 == 7
ToStringGeneral.tests.cpp:<line number>: PASSED:
REQUIRE( str2.size() == 2 + 15 )
with expansion:
17 == 17
-------------------------------------------------------------------------------
Predicate matcher can accept const char*
-------------------------------------------------------------------------------
@@ -11389,6 +11423,6 @@ Misc.tests.cpp:<line number>
Misc.tests.cpp:<line number>: PASSED:
===============================================================================
test cases: 266 | 183 passed | 79 failed | 4 failed as expected
assertions: 1466 | 1304 passed | 141 failed | 21 failed as expected
test cases: 267 | 184 passed | 79 failed | 4 failed as expected
assertions: 1470 | 1308 passed | 141 failed | 21 failed as expected

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<testsuitesloose text artifact
>
<testsuite name="<exe-name>" errors="17" failures="125" tests="1467" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}">
<testsuite name="<exe-name>" errors="17" failures="125" tests="1471" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}">
<properties>
<property name="filters" value="~[!nonportable]~[!benchmark]~[approvals]"/>
<property name="random-seed" value="1"/>
@@ -574,6 +574,8 @@ Message.tests.cpp:<line number>
<testcase classname="<exe-name>.global" name="Parse test names and tags/empty quoted name" time="{duration}"/>
<testcase classname="<exe-name>.global" name="Parse test names and tags/quoted string followed by tag exclusion" time="{duration}"/>
<testcase classname="<exe-name>.global" name="Pointers can be compared to null" time="{duration}"/>
<testcase classname="<exe-name>.global" name="Precision of floating point stringification can be set/Floats" time="{duration}"/>
<testcase classname="<exe-name>.global" name="Precision of floating point stringification can be set/Double" time="{duration}"/>
<testcase classname="<exe-name>.global" name="Predicate matcher can accept const char*" time="{duration}"/>
<testcase classname="<exe-name>.global" name="Process can be configured on command line/empty args don't cause a crash" time="{duration}"/>
<testcase classname="<exe-name>.global" name="Process can be configured on command line/default - no arguments" time="{duration}"/>

View File

@@ -7778,6 +7778,47 @@ Nor would this
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Precision of floating point stringification can be set" tags="[floatingPoint][toString]" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
<Section name="Floats" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
<Original>
str1.size() == 3 + 5
</Original>
<Expanded>
8 == 8
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
<Original>
str2.size() == 3 + 10
</Original>
<Expanded>
13 == 13
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="Double" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
<Original>
str1.size() == 2 + 5
</Original>
<Expanded>
7 == 7
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
<Original>
str2.size() == 2 + 15
</Original>
<Expanded>
17 == 17
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Predicate matcher can accept const char*" tags="[compilation][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
<Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
<Original>
@@ -13728,7 +13769,7 @@ loose text artifact
</Section>
<OverallResult success="true"/>
</TestCase>
<OverallResults successes="1304" failures="142" expectedFailures="21"/>
<OverallResults successes="1308" failures="142" expectedFailures="21"/>
</Group>
<OverallResults successes="1304" failures="141" expectedFailures="21"/>
<OverallResults successes="1308" failures="141" expectedFailures="21"/>
</Catch>