qt5base-lts/tests/auto/testlib/selftests/expected_float.junitxml

308 lines
19 KiB
Plaintext
Raw Normal View History

<?xml version="1.0" encoding="UTF-8" ?>
<testsuite errors="0" failures="96" tests="6" name="tst_float">
<properties>
<property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/>
<property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/>
<property value="" name="QtBuild"/>
</properties>
<testcase result="pass" name="initTestCase"/>
Add testlib selftests for double and for non-finite float and double Tidied up the existing float tests in the process. (In particular, s/SUCCESS/PASS/ since that matches real test output.) These verify that QCOMPARE() handles floats and doubles as intended. Extended the existing qFuzzyCompare tests to probe the boundaries of the ranges of values of both types, in the process. Revised the toString<double> that qCompare() uses to give enough precision to actually show some of the differences being tested there (12 digits, to match what qFuzzyCompare tests, so as to show different values rather than, e.g. 1e12 for both expected and actual) and to give consistent results for infinities and NaN (MinGW had eccentric versions for these, leading to different output from tests, which thus failed); did the latter also for toString<float> and fixed stray zeros in MinGW's exponents (which made a kludge in tst_selftest.cpp redundant, so I removed that, too). That's further complicated handling of floating-point types, so let's just keep an eye on how expensive that's getting by adding a benchmark test for QTest::toString(). Unfortunately, default settings only get runs that take modest numbers of milliseconds (some as low as 40) while increasing this with -minumumvalue 100 or more gets the process killed - and I'm unable to find out who's doing the killing (it's not QProcess::kill, ::kill or the QtTest WatchDog, as far as I can tell). So results are rather noisy; the integral tests exhibit speed-ups by factors up to 5, and slow-downs by factors up to 100, between runs with and without this change, which does not affec the integral tests. The relatively modest slow-downs and speed-ups in the floating point tests thus seem likely to be happenstance rather than signal. Change-Id: I4a6bbbab6a43bf14a4089e96238a7c8da2c3127e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2019-01-14 19:50:41 +00:00
<testcase result="fail" name="doubleComparisons">
<failure tag="should FAIL 1" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : 1
Expected (operandRight): 3" result="fail"/>
<failure tag="should FAIL 2" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : 1e&#x002D;07
Expected (operandRight): 3e&#x002D;07" result="fail"/>
<failure tag="should FAIL 3" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : 999999999999
Expected (operandRight): 999999999998" result="fail"/>
<failure tag="should FAIL 4" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : 9.99999999999e&#x002D;311
Expected (operandRight): 9.99999999997e&#x002D;311" result="fail"/>
<failure tag="should FAIL 5" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : 9.99999999999e+306
Expected (operandRight): 9.99999999997e+306" result="fail"/>
<failure tag="should FAIL: NaN != 0" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : nan
Expected (operandRight): 0" result="fail"/>
<failure tag="should FAIL: 0 != NaN" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : 0
Expected (operandRight): nan" result="fail"/>
<failure tag="should FAIL: NaN != 1" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : nan
Expected (operandRight): 1" result="fail"/>
<failure tag="should FAIL: 1 != NaN" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : 1
Expected (operandRight): nan" result="fail"/>
<failure tag="should FAIL: inf != &#x002D;inf" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : inf
Expected (operandRight): &#x002D;inf" result="fail"/>
<failure tag="should FAIL: &#x002D;inf != inf" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;inf
Expected (operandRight): inf" result="fail"/>
<failure tag="should FAIL: inf != nan" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : inf
Expected (operandRight): nan" result="fail"/>
<failure tag="should FAIL: nan != inf" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : nan
Expected (operandRight): inf" result="fail"/>
<failure tag="should FAIL: &#x002D;inf != nan" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;inf
Expected (operandRight): nan" result="fail"/>
<failure tag="should FAIL: nan != &#x002D;inf" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : nan
Expected (operandRight): &#x002D;inf" result="fail"/>
<failure tag="should FAIL: inf != 0" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : inf
Expected (operandRight): 0" result="fail"/>
<failure tag="should FAIL: 0 != inf" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : 0
Expected (operandRight): inf" result="fail"/>
<failure tag="should FAIL: &#x002D;inf != 0" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;inf
Expected (operandRight): 0" result="fail"/>
<failure tag="should FAIL: 0 != &#x002D;inf" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : 0
Expected (operandRight): &#x002D;inf" result="fail"/>
<failure tag="should FAIL: inf != 1" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : inf
Expected (operandRight): 1" result="fail"/>
<failure tag="should FAIL: 1 != inf" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : 1
Expected (operandRight): inf" result="fail"/>
<failure tag="should FAIL: &#x002D;inf != 1" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;inf
Expected (operandRight): 1" result="fail"/>
<failure tag="should FAIL: 1 != &#x002D;inf" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : 1
Expected (operandRight): &#x002D;inf" result="fail"/>
<failure tag="should FAIL: inf != max" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : inf
Expected (operandRight): 1.79769313486e+308" result="fail"/>
<failure tag="should FAIL: inf != &#x002D;max" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : inf
Expected (operandRight): &#x002D;1.79769313486e+308" result="fail"/>
<failure tag="should FAIL: max != inf" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : 1.79769313486e+308
Expected (operandRight): inf" result="fail"/>
<failure tag="should FAIL: &#x002D;max != inf" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;1.79769313486e+308
Expected (operandRight): inf" result="fail"/>
<failure tag="should FAIL: &#x002D;inf != max" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;inf
Expected (operandRight): 1.79769313486e+308" result="fail"/>
<failure tag="should FAIL: &#x002D;inf != &#x002D;max" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;inf
Expected (operandRight): &#x002D;1.79769313486e+308" result="fail"/>
<failure tag="should FAIL: max != &#x002D;inf" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : 1.79769313486e+308
Expected (operandRight): &#x002D;inf" result="fail"/>
<failure tag="should FAIL: &#x002D;max != &#x002D;inf" message="Compared doubles are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;1.79769313486e+308
Expected (operandRight): &#x002D;inf" result="fail"/>
</testcase>
<testcase result="fail" name="floatComparisons">
<failure tag="should FAIL 1" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : 1
Expected (operandRight): 3" result="fail"/>
<failure tag="should FAIL 2" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : 1e&#x002D;07
Expected (operandRight): 3e&#x002D;07" result="fail"/>
<failure tag="should FAIL 3" message="Compared floats are not the same (fuzzy compare)
Add testlib selftests for double and for non-finite float and double Tidied up the existing float tests in the process. (In particular, s/SUCCESS/PASS/ since that matches real test output.) These verify that QCOMPARE() handles floats and doubles as intended. Extended the existing qFuzzyCompare tests to probe the boundaries of the ranges of values of both types, in the process. Revised the toString<double> that qCompare() uses to give enough precision to actually show some of the differences being tested there (12 digits, to match what qFuzzyCompare tests, so as to show different values rather than, e.g. 1e12 for both expected and actual) and to give consistent results for infinities and NaN (MinGW had eccentric versions for these, leading to different output from tests, which thus failed); did the latter also for toString<float> and fixed stray zeros in MinGW's exponents (which made a kludge in tst_selftest.cpp redundant, so I removed that, too). That's further complicated handling of floating-point types, so let's just keep an eye on how expensive that's getting by adding a benchmark test for QTest::toString(). Unfortunately, default settings only get runs that take modest numbers of milliseconds (some as low as 40) while increasing this with -minumumvalue 100 or more gets the process killed - and I'm unable to find out who's doing the killing (it's not QProcess::kill, ::kill or the QtTest WatchDog, as far as I can tell). So results are rather noisy; the integral tests exhibit speed-ups by factors up to 5, and slow-downs by factors up to 100, between runs with and without this change, which does not affec the integral tests. The relatively modest slow-downs and speed-ups in the floating point tests thus seem likely to be happenstance rather than signal. Change-Id: I4a6bbbab6a43bf14a4089e96238a7c8da2c3127e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2019-01-14 19:50:41 +00:00
Actual (operandLeft) : 99999
Expected (operandRight): 99998" result="fail"/>
<failure tag="should FAIL 4" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : 9.9999e&#x002D;40
Expected (operandRight): 9.99971e&#x002D;40" result="fail"/>
<failure tag="should FAIL 5" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : 9.9999e+37
Expected (operandRight): 9.9997e+37" result="fail"/>
<failure tag="should FAIL: NaN != 0" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : nan
Expected (operandRight): 0" result="fail"/>
<failure tag="should FAIL: 0 != NaN" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : 0
Expected (operandRight): nan" result="fail"/>
<failure tag="should FAIL: NaN != 1" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : nan
Expected (operandRight): 1" result="fail"/>
<failure tag="should FAIL: 1 != NaN" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : 1
Expected (operandRight): nan" result="fail"/>
<failure tag="should FAIL: inf != &#x002D;inf" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : inf
Expected (operandRight): &#x002D;inf" result="fail"/>
<failure tag="should FAIL: &#x002D;inf != inf" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;inf
Expected (operandRight): inf" result="fail"/>
<failure tag="should FAIL: inf != nan" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : inf
Expected (operandRight): nan" result="fail"/>
<failure tag="should FAIL: nan != inf" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : nan
Expected (operandRight): inf" result="fail"/>
<failure tag="should FAIL: &#x002D;inf != nan" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;inf
Expected (operandRight): nan" result="fail"/>
<failure tag="should FAIL: nan != &#x002D;inf" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : nan
Expected (operandRight): &#x002D;inf" result="fail"/>
<failure tag="should FAIL: inf != 0" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : inf
Expected (operandRight): 0" result="fail"/>
<failure tag="should FAIL: 0 != inf" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : 0
Expected (operandRight): inf" result="fail"/>
<failure tag="should FAIL: &#x002D;inf != 0" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;inf
Expected (operandRight): 0" result="fail"/>
<failure tag="should FAIL: 0 != &#x002D;inf" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : 0
Expected (operandRight): &#x002D;inf" result="fail"/>
<failure tag="should FAIL: inf != 1" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : inf
Expected (operandRight): 1" result="fail"/>
<failure tag="should FAIL: 1 != inf" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : 1
Expected (operandRight): inf" result="fail"/>
<failure tag="should FAIL: &#x002D;inf != 1" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;inf
Expected (operandRight): 1" result="fail"/>
<failure tag="should FAIL: 1 != &#x002D;inf" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : 1
Expected (operandRight): &#x002D;inf" result="fail"/>
<failure tag="should FAIL: inf != max" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : inf
Expected (operandRight): 3.40282e+38" result="fail"/>
<failure tag="should FAIL: inf != &#x002D;max" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : inf
Expected (operandRight): &#x002D;3.40282e+38" result="fail"/>
<failure tag="should FAIL: max != inf" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : 3.40282e+38
Expected (operandRight): inf" result="fail"/>
<failure tag="should FAIL: &#x002D;max != inf" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;3.40282e+38
Expected (operandRight): inf" result="fail"/>
<failure tag="should FAIL: &#x002D;inf != max" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;inf
Expected (operandRight): 3.40282e+38" result="fail"/>
<failure tag="should FAIL: &#x002D;inf != &#x002D;max" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;inf
Expected (operandRight): &#x002D;3.40282e+38" result="fail"/>
<failure tag="should FAIL: max != &#x002D;inf" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : 3.40282e+38
Expected (operandRight): &#x002D;inf" result="fail"/>
<failure tag="should FAIL: &#x002D;max != &#x002D;inf" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;3.40282e+38
Expected (operandRight): &#x002D;inf" result="fail"/>
</testcase>
<testcase result="fail" name="float16Comparisons">
<failure tag="should FAIL 1" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : 1
Expected (operandRight): 3" result="fail"/>
<failure tag="should FAIL 2" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : 0.0001
Expected (operandRight): 0.0003" result="fail"/>
<failure tag="should FAIL 3" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : 98
Expected (operandRight): 99" result="fail"/>
<failure tag="should FAIL 4" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : 5.93e&#x002D;05
Expected (operandRight): 5.87e&#x002D;05" result="fail"/>
<failure tag="should FAIL 5" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : 5.94e+04
Expected (operandRight): 5.88e+04" result="fail"/>
<failure tag="should FAIL: NaN != 0" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : nan
Expected (operandRight): 0" result="fail"/>
<failure tag="should FAIL: 0 != NaN" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : 0
Expected (operandRight): nan" result="fail"/>
<failure tag="should FAIL: NaN != 1" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : nan
Expected (operandRight): 1" result="fail"/>
<failure tag="should FAIL: 1 != NaN" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : 1
Expected (operandRight): nan" result="fail"/>
<failure tag="should FAIL: inf != &#x002D;inf" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : inf
Expected (operandRight): &#x002D;inf" result="fail"/>
<failure tag="should FAIL: &#x002D;inf != inf" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;inf
Expected (operandRight): inf" result="fail"/>
<failure tag="should FAIL: inf != nan" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : inf
Expected (operandRight): nan" result="fail"/>
<failure tag="should FAIL: nan != inf" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : nan
Expected (operandRight): inf" result="fail"/>
<failure tag="should FAIL: &#x002D;inf != nan" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;inf
Expected (operandRight): nan" result="fail"/>
<failure tag="should FAIL: nan != &#x002D;inf" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : nan
Expected (operandRight): &#x002D;inf" result="fail"/>
<failure tag="should FAIL: inf != 0" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : inf
Expected (operandRight): 0" result="fail"/>
<failure tag="should FAIL: 0 != inf" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : 0
Expected (operandRight): inf" result="fail"/>
<failure tag="should FAIL: &#x002D;inf != 0" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;inf
Expected (operandRight): 0" result="fail"/>
<failure tag="should FAIL: 0 != &#x002D;inf" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : 0
Expected (operandRight): &#x002D;inf" result="fail"/>
<failure tag="should FAIL: inf != 1" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : inf
Expected (operandRight): 1" result="fail"/>
<failure tag="should FAIL: 1 != inf" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : 1
Expected (operandRight): inf" result="fail"/>
<failure tag="should FAIL: &#x002D;inf != 1" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;inf
Expected (operandRight): 1" result="fail"/>
<failure tag="should FAIL: 1 != &#x002D;inf" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : 1
Expected (operandRight): &#x002D;inf" result="fail"/>
<failure tag="should FAIL: inf != max" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : inf
Expected (operandRight): 6.55e+04" result="fail"/>
<failure tag="should FAIL: inf != &#x002D;max" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : inf
Expected (operandRight): &#x002D;6.55e+04" result="fail"/>
<failure tag="should FAIL: max != inf" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : 6.55e+04
Expected (operandRight): inf" result="fail"/>
<failure tag="should FAIL: &#x002D;max != inf" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;6.55e+04
Expected (operandRight): inf" result="fail"/>
<failure tag="should FAIL: &#x002D;inf != max" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;inf
Expected (operandRight): 6.55e+04" result="fail"/>
<failure tag="should FAIL: &#x002D;inf != &#x002D;max" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;inf
Expected (operandRight): &#x002D;6.55e+04" result="fail"/>
<failure tag="should FAIL: max != &#x002D;inf" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : 6.55e+04
Expected (operandRight): &#x002D;inf" result="fail"/>
<failure tag="should FAIL: &#x002D;max != &#x002D;inf" message="Compared qfloat16s are not the same (fuzzy compare)
Actual (operandLeft) : &#x002D;6.55e+04
Expected (operandRight): &#x002D;inf" result="fail"/>
</testcase>
<testcase result="fail" name="compareFloatTests">
<failure tag="1e0" message="Compared floats are not the same (fuzzy compare)
Actual (t1): 1
Expected (t3): 3" result="fail"/>
<failure tag="1e&#x002D;7" message="Compared floats are not the same (fuzzy compare)
Actual (t1): 1e&#x002D;07
Expected (t3): 3e&#x002D;07" result="fail"/>
<failure tag="1e+7" message="Compared floats are not the same (fuzzy compare)
Actual (t1): 1e+07
Expected (t3): 3e+07" result="fail"/>
</testcase>
<testcase result="pass" name="cleanupTestCase"/>
<system-err/>
</testsuite>