Split subtest selftest
This test was attempting to verify two completely unrelated things, so this commit splits it into two tests. Also, printf calls are replaced by qDebug so that the test does not bypass the testlib loggers. Change-Id: I1a202af38ce2c69690a32d93405ba604ec6cabee Reviewed-on: http://codereview.qt-project.org/5178 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
This commit is contained in:
parent
d60007744b
commit
01ece201ab
44
tests/auto/testlib/selftests/expected_float.lightxml
Normal file
44
tests/auto/testlib/selftests/expected_float.lightxml
Normal file
@ -0,0 +1,44 @@
|
||||
<Environment>
|
||||
<QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion>
|
||||
<QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion>
|
||||
</Environment>
|
||||
<TestFunction name="initTestCase">
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
||||
<TestFunction name="floatComparisons">
|
||||
<Incident type="fail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="61">
|
||||
<DataTag><![CDATA[should FAIL]]></DataTag>
|
||||
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
|
||||
Actual (operandLeft): 1
|
||||
Expected (operandRight): 3]]></Description>
|
||||
</Incident>
|
||||
<Incident type="fail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="61">
|
||||
<DataTag><![CDATA[should FAIL]]></DataTag>
|
||||
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
|
||||
Actual (operandLeft): 1e-07
|
||||
Expected (operandRight): 3e-07]]></Description>
|
||||
</Incident>
|
||||
</TestFunction>
|
||||
<TestFunction name="compareFloatTests">
|
||||
<Incident type="fail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="100">
|
||||
<DataTag><![CDATA[1e0]]></DataTag>
|
||||
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
|
||||
Actual (t1): 1
|
||||
Expected (t3): 3]]></Description>
|
||||
</Incident>
|
||||
<Incident type="fail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="100">
|
||||
<DataTag><![CDATA[1e-7]]></DataTag>
|
||||
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
|
||||
Actual (t1): 1e-07
|
||||
Expected (t3): 3e-07]]></Description>
|
||||
</Incident>
|
||||
<Incident type="fail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="100">
|
||||
<DataTag><![CDATA[1e+7]]></DataTag>
|
||||
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
|
||||
Actual (t1): 1e+07
|
||||
Expected (t3): 3e+07]]></Description>
|
||||
</Incident>
|
||||
</TestFunction>
|
||||
<TestFunction name="cleanupTestCase">
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
26
tests/auto/testlib/selftests/expected_float.txt
Normal file
26
tests/auto/testlib/selftests/expected_float.txt
Normal file
@ -0,0 +1,26 @@
|
||||
********* Start testing of tst_float *********
|
||||
Config: Using QTest library 5.0.0, Qt 5.0.0
|
||||
PASS : tst_float::initTestCase()
|
||||
FAIL! : tst_float::floatComparisons(should FAIL) Compared floats are not the same (fuzzy compare)
|
||||
Actual (operandLeft): 1
|
||||
Expected (operandRight): 3
|
||||
Loc: [/home/user/dev/qt5/tests/auto/testlib/selftests/float/tst_float.cpp(61)]
|
||||
FAIL! : tst_float::floatComparisons(should FAIL) Compared floats are not the same (fuzzy compare)
|
||||
Actual (operandLeft): 1e-07
|
||||
Expected (operandRight): 3e-07
|
||||
Loc: [/home/user/dev/qt5/tests/auto/testlib/selftests/float/tst_float.cpp(61)]
|
||||
FAIL! : tst_float::compareFloatTests(1e0) Compared floats are not the same (fuzzy compare)
|
||||
Actual (t1): 1
|
||||
Expected (t3): 3
|
||||
Loc: [/home/user/dev/qt5/tests/auto/testlib/selftests/float/tst_float.cpp(100)]
|
||||
FAIL! : tst_float::compareFloatTests(1e-7) Compared floats are not the same (fuzzy compare)
|
||||
Actual (t1): 1e-07
|
||||
Expected (t3): 3e-07
|
||||
Loc: [/home/user/dev/qt5/tests/auto/testlib/selftests/float/tst_float.cpp(100)]
|
||||
FAIL! : tst_float::compareFloatTests(1e+7) Compared floats are not the same (fuzzy compare)
|
||||
Actual (t1): 1e+07
|
||||
Expected (t3): 3e+07
|
||||
Loc: [/home/user/dev/qt5/tests/auto/testlib/selftests/float/tst_float.cpp(100)]
|
||||
PASS : tst_float::cleanupTestCase()
|
||||
Totals: 2 passed, 5 failed, 0 skipped
|
||||
********* Finished testing of tst_float *********
|
47
tests/auto/testlib/selftests/expected_float.xml
Normal file
47
tests/auto/testlib/selftests/expected_float.xml
Normal file
@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<TestCase name="tst_float">
|
||||
<Environment>
|
||||
<QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion>
|
||||
<QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion>
|
||||
</Environment>
|
||||
<TestFunction name="initTestCase">
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
||||
<TestFunction name="floatComparisons">
|
||||
<Incident type="fail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="61">
|
||||
<DataTag><![CDATA[should FAIL]]></DataTag>
|
||||
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
|
||||
Actual (operandLeft): 1
|
||||
Expected (operandRight): 3]]></Description>
|
||||
</Incident>
|
||||
<Incident type="fail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="61">
|
||||
<DataTag><![CDATA[should FAIL]]></DataTag>
|
||||
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
|
||||
Actual (operandLeft): 1e-07
|
||||
Expected (operandRight): 3e-07]]></Description>
|
||||
</Incident>
|
||||
</TestFunction>
|
||||
<TestFunction name="compareFloatTests">
|
||||
<Incident type="fail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="100">
|
||||
<DataTag><![CDATA[1e0]]></DataTag>
|
||||
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
|
||||
Actual (t1): 1
|
||||
Expected (t3): 3]]></Description>
|
||||
</Incident>
|
||||
<Incident type="fail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="100">
|
||||
<DataTag><![CDATA[1e-7]]></DataTag>
|
||||
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
|
||||
Actual (t1): 1e-07
|
||||
Expected (t3): 3e-07]]></Description>
|
||||
</Incident>
|
||||
<Incident type="fail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="100">
|
||||
<DataTag><![CDATA[1e+7]]></DataTag>
|
||||
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
|
||||
Actual (t1): 1e+07
|
||||
Expected (t3): 3e+07]]></Description>
|
||||
</Incident>
|
||||
</TestFunction>
|
||||
<TestFunction name="cleanupTestCase">
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
||||
</TestCase>
|
29
tests/auto/testlib/selftests/expected_float.xunitxml
Normal file
29
tests/auto/testlib/selftests/expected_float.xunitxml
Normal file
@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<testsuite errors="0" failures="5" tests="4" name="tst_float">
|
||||
<properties>
|
||||
<property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/>
|
||||
<property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/>
|
||||
</properties>
|
||||
<testcase result="pass" name="initTestCase"/>
|
||||
<testcase result="fail" name="floatComparisons">
|
||||
<failure tag="should FAIL" message="Compared floats are not the same (fuzzy compare)
|
||||
Actual (operandLeft): 1
|
||||
Expected (operandRight): 3" result="fail"/>
|
||||
<failure tag="should FAIL" message="Compared floats are not the same (fuzzy compare)
|
||||
Actual (operandLeft): 1e-07
|
||||
Expected (operandRight): 3e-07" 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-7" message="Compared floats are not the same (fuzzy compare)
|
||||
Actual (t1): 1e-07
|
||||
Expected (t3): 3e-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>
|
@ -3,47 +3,143 @@
|
||||
<QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion>
|
||||
</Environment>
|
||||
<TestFunction name="initTestCase">
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[initTestCase initTestCase (null) ]]></Description>
|
||||
</Message>
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
||||
<TestFunction name="test1">
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[init test1 (null) ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[test1 test1 (null) ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[cleanup test1 (null) ]]></Description>
|
||||
</Message>
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
||||
<TestFunction name="test2">
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[test2_data test2 (null) ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[test2_data end ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data0]]></DataTag>
|
||||
<Description><![CDATA[init test2 data0 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data0]]></DataTag>
|
||||
<Description><![CDATA[test2 test2 data0 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data0]]></DataTag>
|
||||
<Description><![CDATA[test2 end ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data0]]></DataTag>
|
||||
<Description><![CDATA[cleanup test2 data0 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data1]]></DataTag>
|
||||
<Description><![CDATA[init test2 data1 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data1]]></DataTag>
|
||||
<Description><![CDATA[test2 test2 data1 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data1]]></DataTag>
|
||||
<Description><![CDATA[test2 end ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data1]]></DataTag>
|
||||
<Description><![CDATA[cleanup test2 data1 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data2]]></DataTag>
|
||||
<Description><![CDATA[init test2 data2 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data2]]></DataTag>
|
||||
<Description><![CDATA[test2 test2 data2 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data2]]></DataTag>
|
||||
<Description><![CDATA[test2 end ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data2]]></DataTag>
|
||||
<Description><![CDATA[cleanup test2 data2 ]]></Description>
|
||||
</Message>
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
||||
<TestFunction name="test3">
|
||||
<Incident type="fail" file="/local/user_builds/qt/4.6/tests/auto/selftests/subtest/tst_subtest.cpp" line="157">
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[test3_data test3 (null) ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[test3_data end ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data0]]></DataTag>
|
||||
<Description><![CDATA[init test3 data0 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data0]]></DataTag>
|
||||
<Description><![CDATA[test2 test3 data0 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data0]]></DataTag>
|
||||
<Description><![CDATA[test2 end ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data0]]></DataTag>
|
||||
<Description><![CDATA[cleanup test3 data0 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data1]]></DataTag>
|
||||
<Description><![CDATA[init test3 data1 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data1]]></DataTag>
|
||||
<Description><![CDATA[test2 test3 data1 ]]></Description>
|
||||
</Message>
|
||||
<Incident type="fail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/subtest/tst_subtest.cpp" line="154">
|
||||
<DataTag><![CDATA[data1]]></DataTag>
|
||||
<Description><![CDATA[Compared values are not the same
|
||||
Actual (str): hello1
|
||||
Expected (QString("hello0")): hello0]]></Description>
|
||||
</Incident>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data1]]></DataTag>
|
||||
<Description><![CDATA[cleanup test3 data1 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data2]]></DataTag>
|
||||
<Description><![CDATA[init test3 data2 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data2]]></DataTag>
|
||||
<Description><![CDATA[test2 test3 data2 ]]></Description>
|
||||
</Message>
|
||||
<Incident type="fail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/subtest/tst_subtest.cpp" line="154">
|
||||
<DataTag><![CDATA[data2]]></DataTag>
|
||||
<Description><![CDATA[Compared values are not the same
|
||||
Actual (str): hello2
|
||||
Expected (QString("hello0")): hello0]]></Description>
|
||||
</Incident>
|
||||
</TestFunction>
|
||||
<TestFunction name="floatComparisons">
|
||||
<Incident type="fail" file="/local/user_builds/qt/4.6/tests/auto/selftests/subtest/tst_subtest.cpp" line="167">
|
||||
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
|
||||
Actual (operandLeft): 1
|
||||
Expected (operandRight): 3]]></Description>
|
||||
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
|
||||
Actual (operandLeft): 1e-07
|
||||
Expected (operandRight): 3e-07]]></Description>
|
||||
</Incident>
|
||||
</TestFunction>
|
||||
<TestFunction name="compareFloatTests">
|
||||
<Incident type="fail" file="/local/user_builds/qt/4.6/tests/auto/selftests/subtest/tst_subtest.cpp" line="206">
|
||||
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
|
||||
Actual (t1): 1
|
||||
Expected (t3): 3]]></Description>
|
||||
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
|
||||
Actual (t1): 1e-07
|
||||
Expected (t3): 3e-07]]></Description>
|
||||
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
|
||||
Actual (t1): 1e+07
|
||||
Expected (t3): 3e+07]]></Description>
|
||||
</Incident>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data2]]></DataTag>
|
||||
<Description><![CDATA[cleanup test3 data2 ]]></Description>
|
||||
</Message>
|
||||
</TestFunction>
|
||||
<TestFunction name="cleanupTestCase">
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[cleanupTestCase cleanupTestCase (null) ]]></Description>
|
||||
</Message>
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
||||
|
@ -1,81 +1,47 @@
|
||||
********* Start testing of tst_Subtest *********
|
||||
Config: Using QTest library 4.4.0, Qt 4.4.0
|
||||
initTestCase initTestCase (null)
|
||||
Config: Using QTest library 5.0.0, Qt 5.0.0
|
||||
QDEBUG : tst_Subtest::initTestCase() initTestCase initTestCase (null)
|
||||
PASS : tst_Subtest::initTestCase()
|
||||
init test1 (null)
|
||||
test1 test1 (null)
|
||||
cleanup test1 (null)
|
||||
QDEBUG : tst_Subtest::test1() init test1 (null)
|
||||
QDEBUG : tst_Subtest::test1() test1 test1 (null)
|
||||
QDEBUG : tst_Subtest::test1() cleanup test1 (null)
|
||||
PASS : tst_Subtest::test1()
|
||||
test2_data test2 (null)
|
||||
test2_data end
|
||||
init test2 data0
|
||||
test2 test2 data0
|
||||
test2 end
|
||||
cleanup test2 data0
|
||||
init test2 data1
|
||||
test2 test2 data1
|
||||
test2 end
|
||||
cleanup test2 data1
|
||||
init test2 data2
|
||||
test2 test2 data2
|
||||
test2 end
|
||||
cleanup test2 data2
|
||||
QDEBUG : tst_Subtest::test2() test2_data test2 (null)
|
||||
QDEBUG : tst_Subtest::test2() test2_data end
|
||||
QDEBUG : tst_Subtest::test2(data0) init test2 data0
|
||||
QDEBUG : tst_Subtest::test2(data0) test2 test2 data0
|
||||
QDEBUG : tst_Subtest::test2(data0) test2 end
|
||||
QDEBUG : tst_Subtest::test2(data0) cleanup test2 data0
|
||||
QDEBUG : tst_Subtest::test2(data1) init test2 data1
|
||||
QDEBUG : tst_Subtest::test2(data1) test2 test2 data1
|
||||
QDEBUG : tst_Subtest::test2(data1) test2 end
|
||||
QDEBUG : tst_Subtest::test2(data1) cleanup test2 data1
|
||||
QDEBUG : tst_Subtest::test2(data2) init test2 data2
|
||||
QDEBUG : tst_Subtest::test2(data2) test2 test2 data2
|
||||
QDEBUG : tst_Subtest::test2(data2) test2 end
|
||||
QDEBUG : tst_Subtest::test2(data2) cleanup test2 data2
|
||||
PASS : tst_Subtest::test2()
|
||||
test3_data test3 (null)
|
||||
test3_data end
|
||||
init test3 data0
|
||||
test2 test3 data0
|
||||
test2 end
|
||||
cleanup test3 data0
|
||||
init test3 data1
|
||||
test2 test3 data1
|
||||
QDEBUG : tst_Subtest::test3() test3_data test3 (null)
|
||||
QDEBUG : tst_Subtest::test3() test3_data end
|
||||
QDEBUG : tst_Subtest::test3(data0) init test3 data0
|
||||
QDEBUG : tst_Subtest::test3(data0) test2 test3 data0
|
||||
QDEBUG : tst_Subtest::test3(data0) test2 end
|
||||
QDEBUG : tst_Subtest::test3(data0) cleanup test3 data0
|
||||
QDEBUG : tst_Subtest::test3(data1) init test3 data1
|
||||
QDEBUG : tst_Subtest::test3(data1) test2 test3 data1
|
||||
FAIL! : tst_Subtest::test3(data1) Compared values are not the same
|
||||
Actual (str): hello1
|
||||
Expected (QString("hello0")): hello0
|
||||
Loc: [/home/fenglich/dev/qt-4.4/tests/auto/selftests/subtest/tst_subtest.cpp(124)]
|
||||
cleanup test3 data1
|
||||
init test3 data2
|
||||
test2 test3 data2
|
||||
Loc: [/home/user/dev/qt5/tests/auto/testlib/selftests/subtest/tst_subtest.cpp(154)]
|
||||
QDEBUG : tst_Subtest::test3(data1) cleanup test3 data1
|
||||
QDEBUG : tst_Subtest::test3(data2) init test3 data2
|
||||
QDEBUG : tst_Subtest::test3(data2) test2 test3 data2
|
||||
FAIL! : tst_Subtest::test3(data2) Compared values are not the same
|
||||
Actual (str): hello2
|
||||
Expected (QString("hello0")): hello0
|
||||
Loc: [/home/fenglich/dev/qt-4.4/tests/auto/selftests/subtest/tst_subtest.cpp(124)]
|
||||
cleanup test3 data2
|
||||
init floatComparisons should SUCCEED
|
||||
cleanup floatComparisons should SUCCEED
|
||||
init floatComparisons should FAIL
|
||||
FAIL! : tst_Subtest::floatComparisons(should FAIL) Compared floats are not the same (fuzzy compare)
|
||||
Actual (operandLeft): 1
|
||||
Expected (operandRight): 3
|
||||
Loc: [/home/fenglich/dev/qt-4.4/tests/auto/selftests/subtest/tst_subtest.cpp(134)]
|
||||
cleanup floatComparisons should FAIL
|
||||
init floatComparisons should FAIL
|
||||
FAIL! : tst_Subtest::floatComparisons(should FAIL) Compared floats are not the same (fuzzy compare)
|
||||
Actual (operandLeft): 1e-07
|
||||
Expected (operandRight): 3e-07
|
||||
Loc: [/home/fenglich/dev/qt-4.4/tests/auto/selftests/subtest/tst_subtest.cpp(134)]
|
||||
cleanup floatComparisons should FAIL
|
||||
init floatComparisons should FAIL
|
||||
cleanup floatComparisons should FAIL
|
||||
init compareFloatTests 1e0
|
||||
FAIL! : tst_Subtest::compareFloatTests(1e0) Compared floats are not the same (fuzzy compare)
|
||||
Actual (t1): 1
|
||||
Expected (t3): 3
|
||||
Loc: [/home/fenglich/dev/qt-4.4/tests/auto/selftests/subtest/tst_subtest.cpp(173)]
|
||||
cleanup compareFloatTests 1e0
|
||||
init compareFloatTests 1e-7
|
||||
FAIL! : tst_Subtest::compareFloatTests(1e-7) Compared floats are not the same (fuzzy compare)
|
||||
Actual (t1): 1e-07
|
||||
Expected (t3): 3e-07
|
||||
Loc: [/home/fenglich/dev/qt-4.4/tests/auto/selftests/subtest/tst_subtest.cpp(173)]
|
||||
cleanup compareFloatTests 1e-7
|
||||
init compareFloatTests 1e+7
|
||||
FAIL! : tst_Subtest::compareFloatTests(1e+7) Compared floats are not the same (fuzzy compare)
|
||||
Actual (t1): 1e+07
|
||||
Expected (t3): 3e+07
|
||||
Loc: [/home/fenglich/dev/qt-4.4/tests/auto/selftests/subtest/tst_subtest.cpp(173)]
|
||||
cleanup compareFloatTests 1e+7
|
||||
cleanupTestCase cleanupTestCase (null)
|
||||
Loc: [/home/user/dev/qt5/tests/auto/testlib/selftests/subtest/tst_subtest.cpp(154)]
|
||||
QDEBUG : tst_Subtest::test3(data2) cleanup test3 data2
|
||||
QDEBUG : tst_Subtest::cleanupTestCase() cleanupTestCase cleanupTestCase (null)
|
||||
PASS : tst_Subtest::cleanupTestCase()
|
||||
Totals: 4 passed, 7 failed, 0 skipped
|
||||
Totals: 4 passed, 2 failed, 0 skipped
|
||||
********* Finished testing of tst_Subtest *********
|
||||
|
@ -5,63 +5,144 @@
|
||||
<QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion>
|
||||
</Environment>
|
||||
<TestFunction name="initTestCase">
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[initTestCase initTestCase (null) ]]></Description>
|
||||
</Message>
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
||||
<TestFunction name="test1">
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[init test1 (null) ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[test1 test1 (null) ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[cleanup test1 (null) ]]></Description>
|
||||
</Message>
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
||||
<TestFunction name="test2">
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[test2_data test2 (null) ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[test2_data end ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data0]]></DataTag>
|
||||
<Description><![CDATA[init test2 data0 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data0]]></DataTag>
|
||||
<Description><![CDATA[test2 test2 data0 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data0]]></DataTag>
|
||||
<Description><![CDATA[test2 end ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data0]]></DataTag>
|
||||
<Description><![CDATA[cleanup test2 data0 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data1]]></DataTag>
|
||||
<Description><![CDATA[init test2 data1 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data1]]></DataTag>
|
||||
<Description><![CDATA[test2 test2 data1 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data1]]></DataTag>
|
||||
<Description><![CDATA[test2 end ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data1]]></DataTag>
|
||||
<Description><![CDATA[cleanup test2 data1 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data2]]></DataTag>
|
||||
<Description><![CDATA[init test2 data2 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data2]]></DataTag>
|
||||
<Description><![CDATA[test2 test2 data2 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data2]]></DataTag>
|
||||
<Description><![CDATA[test2 end ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data2]]></DataTag>
|
||||
<Description><![CDATA[cleanup test2 data2 ]]></Description>
|
||||
</Message>
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
||||
<TestFunction name="test3">
|
||||
<Incident type="fail" file="/local/user_builds/qt/4.6/tests/auto/selftests/subtest/tst_subtest.cpp" line="157">
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[test3_data test3 (null) ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[test3_data end ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data0]]></DataTag>
|
||||
<Description><![CDATA[init test3 data0 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data0]]></DataTag>
|
||||
<Description><![CDATA[test2 test3 data0 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data0]]></DataTag>
|
||||
<Description><![CDATA[test2 end ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data0]]></DataTag>
|
||||
<Description><![CDATA[cleanup test3 data0 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data1]]></DataTag>
|
||||
<Description><![CDATA[init test3 data1 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data1]]></DataTag>
|
||||
<Description><![CDATA[test2 test3 data1 ]]></Description>
|
||||
</Message>
|
||||
<Incident type="fail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/subtest/tst_subtest.cpp" line="154">
|
||||
<DataTag><![CDATA[data1]]></DataTag>
|
||||
<Description><![CDATA[Compared values are not the same
|
||||
Actual (str): hello1
|
||||
Expected (QString("hello0")): hello0]]></Description>
|
||||
</Incident>
|
||||
<Incident type="fail" file="/local/user_builds/qt/4.6/tests/auto/selftests/subtest/tst_subtest.cpp" line="157">
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data1]]></DataTag>
|
||||
<Description><![CDATA[cleanup test3 data1 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data2]]></DataTag>
|
||||
<Description><![CDATA[init test3 data2 ]]></Description>
|
||||
</Message>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data2]]></DataTag>
|
||||
<Description><![CDATA[test2 test3 data2 ]]></Description>
|
||||
</Message>
|
||||
<Incident type="fail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/subtest/tst_subtest.cpp" line="154">
|
||||
<DataTag><![CDATA[data2]]></DataTag>
|
||||
<Description><![CDATA[Compared values are not the same
|
||||
Actual (str): hello2
|
||||
Expected (QString("hello0")): hello0]]></Description>
|
||||
</Incident>
|
||||
</TestFunction>
|
||||
<TestFunction name="floatComparisons">
|
||||
<Incident type="fail" file="/local/user_builds/qt/4.6/tests/auto/selftests/subtest/tst_subtest.cpp" line="167">
|
||||
<DataTag><![CDATA[should FAIL]]></DataTag>
|
||||
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
|
||||
Actual (operandLeft): 1
|
||||
Expected (operandRight): 3]]></Description>
|
||||
</Incident>
|
||||
<Incident type="fail" file="/local/user_builds/qt/4.6/tests/auto/selftests/subtest/tst_subtest.cpp" line="167">
|
||||
<DataTag><![CDATA[should FAIL]]></DataTag>
|
||||
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
|
||||
Actual (operandLeft): 1e-07
|
||||
Expected (operandRight): 3e-07]]></Description>
|
||||
</Incident>
|
||||
</TestFunction>
|
||||
<TestFunction name="compareFloatTests">
|
||||
<Incident type="fail" file="/local/user_builds/qt/4.6/tests/auto/selftests/subtest/tst_subtest.cpp" line="206">
|
||||
<DataTag><![CDATA[1e0]]></DataTag>
|
||||
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
|
||||
Actual (t1): 1
|
||||
Expected (t3): 3]]></Description>
|
||||
</Incident>
|
||||
<Incident type="fail" file="/local/user_builds/qt/4.6/tests/auto/selftests/subtest/tst_subtest.cpp" line="206">
|
||||
<DataTag><![CDATA[1e-7]]></DataTag>
|
||||
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
|
||||
Actual (t1): 1e-07
|
||||
Expected (t3): 3e-07]]></Description>
|
||||
</Incident>
|
||||
<Incident type="fail" file="/local/user_builds/qt/4.6/tests/auto/selftests/subtest/tst_subtest.cpp" line="206">
|
||||
<DataTag><![CDATA[1e+7]]></DataTag>
|
||||
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
|
||||
Actual (t1): 1e+07
|
||||
Expected (t3): 3e+07]]></Description>
|
||||
</Incident>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<DataTag><![CDATA[data2]]></DataTag>
|
||||
<Description><![CDATA[cleanup test3 data2 ]]></Description>
|
||||
</Message>
|
||||
</TestFunction>
|
||||
<TestFunction name="cleanupTestCase">
|
||||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[cleanupTestCase cleanupTestCase (null) ]]></Description>
|
||||
</Message>
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
||||
</TestCase>
|
||||
|
@ -1,39 +1,87 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<testsuite errors="0" failures="7" tests="7" name="tst_Subtest">
|
||||
<testsuite errors="31" failures="2" tests="5" name="tst_Subtest">
|
||||
<properties>
|
||||
<property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/>
|
||||
<property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/>
|
||||
</properties>
|
||||
<testcase result="pass" name="initTestCase"/>
|
||||
<testcase result="pass" name="test1"/>
|
||||
<testcase result="pass" name="test2"/>
|
||||
<testcase result="pass" name="initTestCase">
|
||||
<!-- message="initTestCase initTestCase (null) " type="qdebug" -->
|
||||
</testcase>
|
||||
<testcase result="pass" name="test1">
|
||||
<!-- message="init test1 (null) " type="qdebug" -->
|
||||
<!-- message="test1 test1 (null) " type="qdebug" -->
|
||||
<!-- message="cleanup test1 (null) " type="qdebug" -->
|
||||
</testcase>
|
||||
<testcase result="pass" name="test2">
|
||||
<!-- message="test2_data test2 (null) " type="qdebug" -->
|
||||
<!-- message="test2_data end " type="qdebug" -->
|
||||
<!-- tag="data0" message="init test2 data0 " type="qdebug" -->
|
||||
<!-- tag="data0" message="test2 test2 data0 " type="qdebug" -->
|
||||
<!-- tag="data0" message="test2 end " type="qdebug" -->
|
||||
<!-- tag="data0" message="cleanup test2 data0 " type="qdebug" -->
|
||||
<!-- tag="data1" message="init test2 data1 " type="qdebug" -->
|
||||
<!-- tag="data1" message="test2 test2 data1 " type="qdebug" -->
|
||||
<!-- tag="data1" message="test2 end " type="qdebug" -->
|
||||
<!-- tag="data1" message="cleanup test2 data1 " type="qdebug" -->
|
||||
<!-- tag="data2" message="init test2 data2 " type="qdebug" -->
|
||||
<!-- tag="data2" message="test2 test2 data2 " type="qdebug" -->
|
||||
<!-- tag="data2" message="test2 end " type="qdebug" -->
|
||||
<!-- tag="data2" message="cleanup test2 data2 " type="qdebug" -->
|
||||
</testcase>
|
||||
<testcase result="fail" name="test3">
|
||||
<!-- message="test3_data test3 (null) " type="qdebug" -->
|
||||
<!-- message="test3_data end " type="qdebug" -->
|
||||
<!-- tag="data0" message="init test3 data0 " type="qdebug" -->
|
||||
<!-- tag="data0" message="test2 test3 data0 " type="qdebug" -->
|
||||
<!-- tag="data0" message="test2 end " type="qdebug" -->
|
||||
<!-- tag="data0" message="cleanup test3 data0 " type="qdebug" -->
|
||||
<!-- tag="data1" message="init test3 data1 " type="qdebug" -->
|
||||
<!-- tag="data1" message="test2 test3 data1 " type="qdebug" -->
|
||||
<failure tag="data1" message="Compared values are not the same
|
||||
Actual (str): hello1
|
||||
Expected (QString("hello0")): hello0" result="fail"/>
|
||||
<!-- tag="data1" message="cleanup test3 data1 " type="qdebug" -->
|
||||
<!-- tag="data2" message="init test3 data2 " type="qdebug" -->
|
||||
<!-- tag="data2" message="test2 test3 data2 " type="qdebug" -->
|
||||
<failure tag="data2" message="Compared values are not the same
|
||||
Actual (str): hello2
|
||||
Expected (QString("hello0")): hello0" result="fail"/>
|
||||
<!-- tag="data2" message="cleanup test3 data2 " type="qdebug" -->
|
||||
</testcase>
|
||||
<testcase result="fail" name="floatComparisons">
|
||||
<failure tag="should FAIL" message="Compared floats are not the same (fuzzy compare)
|
||||
Actual (operandLeft): 1
|
||||
Expected (operandRight): 3" result="fail"/>
|
||||
<failure tag="should FAIL" message="Compared floats are not the same (fuzzy compare)
|
||||
Actual (operandLeft): 1e-07
|
||||
Expected (operandRight): 3e-07" result="fail"/>
|
||||
<testcase result="pass" name="cleanupTestCase">
|
||||
<!-- message="cleanupTestCase cleanupTestCase (null) " type="qdebug" -->
|
||||
</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-7" message="Compared floats are not the same (fuzzy compare)
|
||||
Actual (t1): 1e-07
|
||||
Expected (t3): 3e-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/>
|
||||
<system-err>
|
||||
<![CDATA[initTestCase initTestCase (null) ]]>
|
||||
<![CDATA[init test1 (null) ]]>
|
||||
<![CDATA[test1 test1 (null) ]]>
|
||||
<![CDATA[cleanup test1 (null) ]]>
|
||||
<![CDATA[test2_data test2 (null) ]]>
|
||||
<![CDATA[test2_data end ]]>
|
||||
<![CDATA[init test2 data0 ]]>
|
||||
<![CDATA[test2 test2 data0 ]]>
|
||||
<![CDATA[test2 end ]]>
|
||||
<![CDATA[cleanup test2 data0 ]]>
|
||||
<![CDATA[init test2 data1 ]]>
|
||||
<![CDATA[test2 test2 data1 ]]>
|
||||
<![CDATA[test2 end ]]>
|
||||
<![CDATA[cleanup test2 data1 ]]>
|
||||
<![CDATA[init test2 data2 ]]>
|
||||
<![CDATA[test2 test2 data2 ]]>
|
||||
<![CDATA[test2 end ]]>
|
||||
<![CDATA[cleanup test2 data2 ]]>
|
||||
<![CDATA[test3_data test3 (null) ]]>
|
||||
<![CDATA[test3_data end ]]>
|
||||
<![CDATA[init test3 data0 ]]>
|
||||
<![CDATA[test2 test3 data0 ]]>
|
||||
<![CDATA[test2 end ]]>
|
||||
<![CDATA[cleanup test3 data0 ]]>
|
||||
<![CDATA[init test3 data1 ]]>
|
||||
<![CDATA[test2 test3 data1 ]]>
|
||||
<![CDATA[cleanup test3 data1 ]]>
|
||||
<![CDATA[init test3 data2 ]]>
|
||||
<![CDATA[test2 test3 data2 ]]>
|
||||
<![CDATA[cleanup test3 data2 ]]>
|
||||
<![CDATA[cleanupTestCase cleanupTestCase (null) ]]>
|
||||
</system-err>
|
||||
</testsuite>
|
||||
|
12
tests/auto/testlib/selftests/float/float.pro
Normal file
12
tests/auto/testlib/selftests/float/float.pro
Normal file
@ -0,0 +1,12 @@
|
||||
load(qttest_p4)
|
||||
|
||||
# this is not a real testcase ('make check' should not run it)
|
||||
CONFIG -= testcase
|
||||
|
||||
SOURCES += tst_float.cpp
|
||||
QT = core
|
||||
|
||||
mac:CONFIG -= app_bundle
|
||||
CONFIG -= debug_and_release_target
|
||||
|
||||
TARGET = float
|
113
tests/auto/testlib/selftests/float/tst_float.cpp
Normal file
113
tests/auto/testlib/selftests/float/tst_float.cpp
Normal file
@ -0,0 +1,113 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
|
||||
** All rights reserved.
|
||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
||||
**
|
||||
** This file is part of the test suite of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** GNU Lesser General Public License Usage
|
||||
** This file may be used under the terms of the GNU Lesser General Public
|
||||
** License version 2.1 as published by the Free Software Foundation and
|
||||
** appearing in the file LICENSE.LGPL included in the packaging of this
|
||||
** file. Please review the following information to ensure the GNU Lesser
|
||||
** General Public License version 2.1 requirements will be met:
|
||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain additional
|
||||
** rights. These rights are described in the Nokia Qt LGPL Exception
|
||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU General
|
||||
** Public License version 3.0 as published by the Free Software Foundation
|
||||
** and appearing in the file LICENSE.GPL included in the packaging of this
|
||||
** file. Please review the following information to ensure the GNU General
|
||||
** Public License version 3.0 requirements will be met:
|
||||
** http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** Other Usage
|
||||
** Alternatively, this file may be used in accordance with the terms and
|
||||
** conditions contained in a signed written agreement between you and Nokia.
|
||||
**
|
||||
**
|
||||
**
|
||||
**
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include <QtCore>
|
||||
#include <QtTest/QtTest>
|
||||
#include <QDebug>
|
||||
|
||||
class tst_float: public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
private slots:
|
||||
void floatComparisons() const;
|
||||
void floatComparisons_data() const;
|
||||
void compareFloatTests() const;
|
||||
void compareFloatTests_data() const;
|
||||
};
|
||||
|
||||
void tst_float::floatComparisons() const
|
||||
{
|
||||
QFETCH(float, operandLeft);
|
||||
QFETCH(float, operandRight);
|
||||
|
||||
QCOMPARE(operandLeft, operandRight);
|
||||
}
|
||||
|
||||
void tst_float::floatComparisons_data() const
|
||||
{
|
||||
QTest::addColumn<float>("operandLeft");
|
||||
QTest::addColumn<float>("operandRight");
|
||||
|
||||
QTest::newRow("should SUCCEED")
|
||||
<< float(0)
|
||||
<< float(0);
|
||||
|
||||
QTest::newRow("should FAIL")
|
||||
<< float(1.00000)
|
||||
<< float(3.00000);
|
||||
|
||||
QTest::newRow("should FAIL")
|
||||
<< float(1.00000e-7f)
|
||||
<< float(3.00000e-7f);
|
||||
|
||||
QTest::newRow("should FAIL")
|
||||
<< float(100001)
|
||||
<< float(100002);
|
||||
}
|
||||
|
||||
void tst_float::compareFloatTests() const
|
||||
{
|
||||
QFETCH(float, t1);
|
||||
|
||||
// Create two more values
|
||||
// t2 differs from t1 by 1 ppm (part per million)
|
||||
// t3 differs from t1 by 200%
|
||||
// we should consider that t1 == t2 and t1 != t3
|
||||
const float t2 = t1 + (t1 / 1e6);
|
||||
const float t3 = 3 * t1;
|
||||
|
||||
QCOMPARE(t1, t2);
|
||||
|
||||
/* Should FAIL. */
|
||||
QCOMPARE(t1, t3);
|
||||
}
|
||||
|
||||
void tst_float::compareFloatTests_data() const
|
||||
{
|
||||
QTest::addColumn<float>("t1");
|
||||
QTest::newRow("1e0") << 1e0f;
|
||||
QTest::newRow("1e-7") << 1e-7f;
|
||||
QTest::newRow("1e+7") << 1e+7f;
|
||||
}
|
||||
|
||||
QTEST_MAIN(tst_float)
|
||||
|
||||
#include "tst_float.moc"
|
@ -5,7 +5,7 @@ SUBDIRS = subtest test warnings maxwarnings cmptest globaldata skipglobal skip \
|
||||
skipinit skipinitdata datetime singleskip assert differentexec \
|
||||
exceptionthrow qexecstringlist datatable commandlinedata\
|
||||
benchlibwalltime benchlibcallgrind benchlibeventcounter benchlibtickcounter \
|
||||
benchliboptions xunit badxml longstring
|
||||
benchliboptions xunit badxml longstring float
|
||||
|
||||
INSTALLS =
|
||||
|
||||
|
@ -73,6 +73,10 @@
|
||||
<file>expected_fetchbogus.txt</file>
|
||||
<file>expected_fetchbogus.xml</file>
|
||||
<file>expected_fetchbogus.xunitxml</file>
|
||||
<file>expected_float.lightxml</file>
|
||||
<file>expected_float.txt</file>
|
||||
<file>expected_float.xml</file>
|
||||
<file>expected_float.xunitxml</file>
|
||||
<file>expected_globaldata.lightxml</file>
|
||||
<file>expected_globaldata.txt</file>
|
||||
<file>expected_globaldata.xml</file>
|
||||
|
@ -42,6 +42,7 @@
|
||||
|
||||
#include <QtCore>
|
||||
#include <QtTest/QtTest>
|
||||
#include <QDebug>
|
||||
|
||||
class tst_Subtest: public QObject
|
||||
{
|
||||
@ -59,53 +60,49 @@ private slots:
|
||||
void test2();
|
||||
void test3_data();
|
||||
void test3();
|
||||
void floatComparisons() const;
|
||||
void floatComparisons_data() const;
|
||||
void compareFloatTests() const;
|
||||
void compareFloatTests_data() const;
|
||||
};
|
||||
|
||||
|
||||
void tst_Subtest::initTestCase()
|
||||
{
|
||||
printf("initTestCase %s %s\n",
|
||||
QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)",
|
||||
QTest::currentDataTag() ? QTest::currentDataTag() : "(null)");
|
||||
qDebug() << "initTestCase"
|
||||
<< (QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)")
|
||||
<< (QTest::currentDataTag() ? QTest::currentDataTag() : "(null)");
|
||||
}
|
||||
|
||||
void tst_Subtest::cleanupTestCase()
|
||||
{
|
||||
printf("cleanupTestCase %s %s\n",
|
||||
QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)",
|
||||
QTest::currentDataTag() ? QTest::currentDataTag() : "(null)");
|
||||
qDebug() << "cleanupTestCase"
|
||||
<< (QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)")
|
||||
<< (QTest::currentDataTag() ? QTest::currentDataTag() : "(null)");
|
||||
}
|
||||
|
||||
void tst_Subtest::init()
|
||||
{
|
||||
printf("init %s %s\n",
|
||||
QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)",
|
||||
QTest::currentDataTag() ? QTest::currentDataTag() : "(null)");
|
||||
qDebug() << "init"
|
||||
<< (QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)")
|
||||
<< (QTest::currentDataTag() ? QTest::currentDataTag() : "(null)");
|
||||
}
|
||||
|
||||
void tst_Subtest::cleanup()
|
||||
{
|
||||
printf("cleanup %s %s\n",
|
||||
QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)",
|
||||
QTest::currentDataTag() ? QTest::currentDataTag() : "(null)");
|
||||
qDebug() << "cleanup"
|
||||
<< (QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)")
|
||||
<< (QTest::currentDataTag() ? QTest::currentDataTag() : "(null)");
|
||||
}
|
||||
|
||||
void tst_Subtest::test1()
|
||||
{
|
||||
printf("test1 %s %s\n",
|
||||
QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)",
|
||||
QTest::currentDataTag() ? QTest::currentDataTag() : "(null)");
|
||||
qDebug() << "test1"
|
||||
<< (QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)")
|
||||
<< (QTest::currentDataTag() ? QTest::currentDataTag() : "(null)");
|
||||
}
|
||||
|
||||
void tst_Subtest::test2_data()
|
||||
{
|
||||
printf("test2_data %s %s\n",
|
||||
QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)",
|
||||
QTest::currentDataTag() ? QTest::currentDataTag() : "(null)");
|
||||
qDebug() << "test2_data"
|
||||
<< (QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)")
|
||||
<< (QTest::currentDataTag() ? QTest::currentDataTag() : "(null)");
|
||||
|
||||
QTest::addColumn<QString>("str");
|
||||
|
||||
@ -113,28 +110,28 @@ void tst_Subtest::test2_data()
|
||||
QTest::newRow("data1") << QString("hello1");
|
||||
QTest::newRow("data2") << QString("hello2");
|
||||
|
||||
printf("test2_data end\n");
|
||||
qDebug() << "test2_data end";
|
||||
}
|
||||
|
||||
void tst_Subtest::test2()
|
||||
{
|
||||
printf("test2 %s %s\n",
|
||||
QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)",
|
||||
QTest::currentDataTag() ? QTest::currentDataTag() : "(null)");
|
||||
qDebug() << "test2"
|
||||
<< (QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)")
|
||||
<< (QTest::currentDataTag() ? QTest::currentDataTag() : "(null)");
|
||||
|
||||
static int count = 0;
|
||||
|
||||
QFETCH(QString, str);
|
||||
QCOMPARE(str, QString("hello%1").arg(count++));
|
||||
|
||||
printf("test2 end\n");
|
||||
qDebug() << "test2 end";
|
||||
}
|
||||
|
||||
void tst_Subtest::test3_data()
|
||||
{
|
||||
printf("test3_data %s %s\n",
|
||||
QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)",
|
||||
QTest::currentDataTag() ? QTest::currentDataTag() : "(null)");
|
||||
qDebug() << "test3_data"
|
||||
<< (QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)")
|
||||
<< (QTest::currentDataTag() ? QTest::currentDataTag() : "(null)");
|
||||
|
||||
QTest::addColumn<QString>("str");
|
||||
|
||||
@ -142,76 +139,21 @@ void tst_Subtest::test3_data()
|
||||
QTest::newRow("data1") << QString("hello1");
|
||||
QTest::newRow("data2") << QString("hello2");
|
||||
|
||||
printf("test3_data end\n");
|
||||
qDebug() << "test3_data end";
|
||||
}
|
||||
|
||||
void tst_Subtest::test3()
|
||||
{
|
||||
printf("test2 %s %s\n",
|
||||
QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)",
|
||||
QTest::currentDataTag() ? QTest::currentDataTag() : "(null)");
|
||||
qDebug() << "test2"
|
||||
<< (QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)")
|
||||
<< (QTest::currentDataTag() ? QTest::currentDataTag() : "(null)");
|
||||
|
||||
QFETCH(QString, str);
|
||||
|
||||
// second and third time we call this it should FAIL
|
||||
QCOMPARE(str, QString("hello0"));
|
||||
|
||||
printf("test2 end\n");
|
||||
}
|
||||
|
||||
void tst_Subtest::floatComparisons() const
|
||||
{
|
||||
QFETCH(float, operandLeft);
|
||||
QFETCH(float, operandRight);
|
||||
|
||||
QCOMPARE(operandLeft, operandRight);
|
||||
}
|
||||
|
||||
void tst_Subtest::floatComparisons_data() const
|
||||
{
|
||||
QTest::addColumn<float>("operandLeft");
|
||||
QTest::addColumn<float>("operandRight");
|
||||
|
||||
QTest::newRow("should SUCCEED")
|
||||
<< float(0)
|
||||
<< float(0);
|
||||
|
||||
QTest::newRow("should FAIL")
|
||||
<< float(1.00000)
|
||||
<< float(3.00000);
|
||||
|
||||
QTest::newRow("should FAIL")
|
||||
<< float(1.00000e-7f)
|
||||
<< float(3.00000e-7f);
|
||||
|
||||
QTest::newRow("should FAIL")
|
||||
<< float(100001)
|
||||
<< float(100002);
|
||||
}
|
||||
|
||||
void tst_Subtest::compareFloatTests() const
|
||||
{
|
||||
QFETCH(float, t1);
|
||||
|
||||
// Create two more values
|
||||
// t2 differs from t1 by 1 ppm (part per million)
|
||||
// t3 differs from t1 by 200%
|
||||
// we should consider that t1 == t2 and t1 != t3
|
||||
const float t2 = t1 + (t1 / 1e6);
|
||||
const float t3 = 3 * t1;
|
||||
|
||||
QCOMPARE(t1, t2);
|
||||
|
||||
/* Should FAIL. */
|
||||
QCOMPARE(t1, t3);
|
||||
}
|
||||
|
||||
void tst_Subtest::compareFloatTests_data() const
|
||||
{
|
||||
QTest::addColumn<float>("t1");
|
||||
QTest::newRow("1e0") << 1e0f;
|
||||
QTest::newRow("1e-7") << 1e-7f;
|
||||
QTest::newRow("1e+7") << 1e+7f;
|
||||
qDebug() << "test2 end";
|
||||
}
|
||||
|
||||
QTEST_MAIN(tst_Subtest)
|
||||
|
@ -189,6 +189,7 @@ void tst_Selftests::runSubTest_data()
|
||||
<< "maxwarnings"
|
||||
<< "cmptest"
|
||||
// << "alive" // timer dependent
|
||||
<< "float"
|
||||
<< "globaldata"
|
||||
<< "skipglobal"
|
||||
<< "skip"
|
||||
@ -287,7 +288,7 @@ void tst_Selftests::runSubTest_data()
|
||||
}
|
||||
// this test prints out some floats in the testlog and the formatting is
|
||||
// platform-specific and hard to predict.
|
||||
if (subtest == "subtest") {
|
||||
if (subtest == "float") {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@ -417,7 +418,7 @@ void tst_Selftests::doRunSubTest(QString const& subdir, QString const& logger, Q
|
||||
if (expected.startsWith(QLatin1String("FAIL! : tst_Exception::throwException() Caught unhandled exce")) && expected != output)
|
||||
// On some platforms we compile without RTTI, and as a result we never throw an exception.
|
||||
QCOMPARE(output.simplified(), QString::fromLatin1("tst_Exception::throwException()").simplified());
|
||||
else if (output != expected && qstrcmp(QTest::currentDataTag(), "subtest") == 0)
|
||||
else if (output != expected && qstrcmp(QTest::currentDataTag(), "float") == 0)
|
||||
// The floating point formatting differs between platforms, so let's just skip it.
|
||||
continue;
|
||||
else if (benchmark || line.startsWith("<BenchmarkResult")) {
|
||||
|
Loading…
Reference in New Issue
Block a user