summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJason McDonald <jason.mcdonald@nokia.com>2011-08-31 14:14:06 +1000
committerQt by Nokia <qt-info@nokia.com>2011-08-31 13:12:43 +0200
commitf0d7e705ee66f82dfd32ce93670eba4f9186c4c0 (patch)
tree538e511cc850d55645b62475d7d51a91df61b479 /tests
parent3526560d60ef82cd04e4fdf2e0ab751c0aca9731 (diff)
Remove XFAIL from selftests for some platforms
The selftest for assert messages calls QEXPECT_FAIL if the assert message doesn't exactly match the expected output. This is because Q_ASSERT uses __FILE__, which is compiler-dependant. The expected output for this test contains various hard-coded unix paths meaning that the test never passes on any platform. This commit removes those paths from the test data so that the test passes for compilers that don't put path information in __FILE__. This commit also makes the XFAIL message more accurate -- absolute paths in assert messages don't come from QTestLib, they come from Q_ASSERT's use of __FILE__. Change-Id: I9aae212379b43a29ae83715717cc978b4b619420 Reviewed-on: http://codereview.qt.nokia.com/3908 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/selftests/expected_assert.lightxml2
-rw-r--r--tests/auto/selftests/expected_assert.txt2
-rw-r--r--tests/auto/selftests/expected_assert.xml2
-rw-r--r--tests/auto/selftests/expected_assert.xunitxml4
-rw-r--r--tests/auto/selftests/tst_selftests.cpp15
5 files changed, 14 insertions, 11 deletions
diff --git a/tests/auto/selftests/expected_assert.lightxml b/tests/auto/selftests/expected_assert.lightxml
index 9062ca69a8..c9a1978e9e 100644
--- a/tests/auto/selftests/expected_assert.lightxml
+++ b/tests/auto/selftests/expected_assert.lightxml
@@ -10,7 +10,7 @@
</TestFunction>
<TestFunction name="testNumber2">
<Message type="qfatal" file="" line="0">
- <Description><![CDATA[ASSERT: "false" in file /local/user_builds/qt/4.6/tests/auto/selftests/assert/tst_assert.cpp, line 62]]></Description>
+ <Description><![CDATA[ASSERT: "false" in file tst_assert.cpp, line 62]]></Description>
</Message>
<Incident type="fail" file="Unknown file" line="0">
<Description><![CDATA[Received a fatal error.]]></Description>
diff --git a/tests/auto/selftests/expected_assert.txt b/tests/auto/selftests/expected_assert.txt
index 0203f2b74e..f57eb55604 100644
--- a/tests/auto/selftests/expected_assert.txt
+++ b/tests/auto/selftests/expected_assert.txt
@@ -2,7 +2,7 @@
Config: Using QTest library 4.3.0, Qt 4.3.0
PASS : tst_Assert::initTestCase()
PASS : tst_Assert::testNumber1()
-QFATAL : tst_Assert::testNumber2() ASSERT: "false" in file /home/fenglich/dev/qt-4.3/tests/auto/selftests/assert/tst_assert.cpp, line 29
+QFATAL : tst_Assert::testNumber2() ASSERT: "false" in file tst_assert.cpp, line 62
FAIL! : tst_Assert::testNumber2() Received a fatal error.
Loc: [Unknown file(0)]
Totals: 2 passed, 1 failed, 0 skipped
diff --git a/tests/auto/selftests/expected_assert.xml b/tests/auto/selftests/expected_assert.xml
index 3a7152c71a..60085aa2b9 100644
--- a/tests/auto/selftests/expected_assert.xml
+++ b/tests/auto/selftests/expected_assert.xml
@@ -12,7 +12,7 @@
</TestFunction>
<TestFunction name="testNumber2">
<Message type="qfatal" file="" line="0">
- <Description><![CDATA[ASSERT: "false" in file /local/user_builds/qt/4.6/tests/auto/selftests/assert/tst_assert.cpp, line 62]]></Description>
+ <Description><![CDATA[ASSERT: "false" in file tst_assert.cpp, line 62]]></Description>
</Message>
<Incident type="fail" file="Unknown file" line="0">
<Description><![CDATA[Received a fatal error.]]></Description>
diff --git a/tests/auto/selftests/expected_assert.xunitxml b/tests/auto/selftests/expected_assert.xunitxml
index 2a7d5ebce8..87617003c5 100644
--- a/tests/auto/selftests/expected_assert.xunitxml
+++ b/tests/auto/selftests/expected_assert.xunitxml
@@ -7,10 +7,10 @@
<testcase result="pass" name="initTestCase"/>
<testcase result="pass" name="testNumber1"/>
<testcase result="fail" name="testNumber2">
- <!-- message="ASSERT: &quot;false&quot; in file /local/user_builds/qt/4.6/tests/auto/selftests/assert/tst_assert.cpp, line 62" type="qfatal" -->
+ <!-- message="ASSERT: &quot;false&quot; in file tst_assert.cpp, line 62" type="qfatal" -->
<failure message="Received a fatal error." result="fail"/>
</testcase>
<system-err>
-<![CDATA[ASSERT: "false" in file /local/user_builds/qt/4.6/tests/auto/selftests/assert/tst_assert.cpp, line 62]]>
+<![CDATA[ASSERT: "false" in file tst_assert.cpp, line 62]]>
</system-err>
</testsuite>
diff --git a/tests/auto/selftests/tst_selftests.cpp b/tests/auto/selftests/tst_selftests.cpp
index 320d993426..cb5cd077b6 100644
--- a/tests/auto/selftests/tst_selftests.cpp
+++ b/tests/auto/selftests/tst_selftests.cpp
@@ -416,13 +416,16 @@ void tst_Selftests::doRunSubTest(QString const& subdir, QString const& logger, Q
const QString output(QString::fromLatin1(line));
const QString expected(QString::fromLatin1(exp.at(i)).replace("@INSERT_QT_VERSION_HERE@", QT_VERSION_STR));
+ // Q_ASSERT uses __FILE__. Some compilers include the absolute path in
+ // __FILE__, while others do not.
if (line.contains("ASSERT") && output != expected) {
- QEXPECT_FAIL("assert", "QTestLib prints out the absolute path.", Continue);
- QEXPECT_FAIL("assert xml", "QTestLib prints out the absolute path.", Continue);
- QEXPECT_FAIL("assert xml flush", "QTestLib prints out the absolute path.", Continue);
- QEXPECT_FAIL("assert lightxml", "QTestLib prints out the absolute path.", Continue);
- QEXPECT_FAIL("assert lightxml flush", "QTestLib prints out the absolute path.", Continue);
- QEXPECT_FAIL("assert xunitxml", "QTestLib prints out the absolute path.", Continue);
+ const char msg[] = "Q_ASSERT prints out the absolute path on this platform.";
+ QEXPECT_FAIL("assert", msg, Continue);
+ QEXPECT_FAIL("assert xml", msg, Continue);
+ QEXPECT_FAIL("assert xml flush", msg, Continue);
+ QEXPECT_FAIL("assert lightxml", msg, Continue);
+ QEXPECT_FAIL("assert lightxml flush", msg, Continue);
+ QEXPECT_FAIL("assert xunitxml", msg, Continue);
}
/* On some platforms we compile without RTTI, and as a result we never throw an exception. */