summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/testlib/qsignaldumper.cpp10
-rw-r--r--src/testlib/qsignaldumper_p.h3
-rw-r--r--src/testlib/qtestcase.cpp8
-rw-r--r--tests/auto/testlib/selftests/expected_signaldumper.junitxml12
-rw-r--r--tests/auto/testlib/selftests/expected_signaldumper.lightxml6
-rw-r--r--tests/auto/testlib/selftests/expected_signaldumper.tap2
-rw-r--r--tests/auto/testlib/selftests/expected_signaldumper.teamcity1
-rw-r--r--tests/auto/testlib/selftests/expected_signaldumper.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_signaldumper.xml6
9 files changed, 21 insertions, 29 deletions
diff --git a/src/testlib/qsignaldumper.cpp b/src/testlib/qsignaldumper.cpp
index 8510b3ed6f..f43b3a8d92 100644
--- a/src/testlib/qsignaldumper.cpp
+++ b/src/testlib/qsignaldumper.cpp
@@ -170,8 +170,16 @@ static void qSignalDumperCallbackEndSignal(QObject *caller, int /*signal_index*/
}
+void QSignalDumper::setEnabled(bool enabled)
+{
+ s_isEnabled = enabled;
+}
+
void QSignalDumper::startDump()
{
+ if (!s_isEnabled)
+ return;
+
static QSignalSpyCallbackSet set = { QTest::qSignalDumperCallback,
QTest::qSignalDumperCallbackSlot, QTest::qSignalDumperCallbackEndSignal, nullptr };
qt_register_signal_spy_callbacks(&set);
@@ -194,4 +202,6 @@ void QSignalDumper::clearIgnoredClasses()
QTest::ignoreClasses()->clear();
}
+bool QSignalDumper::s_isEnabled = false;
+
QT_END_NAMESPACE
diff --git a/src/testlib/qsignaldumper_p.h b/src/testlib/qsignaldumper_p.h
index 0f443fd612..e211f5c059 100644
--- a/src/testlib/qsignaldumper_p.h
+++ b/src/testlib/qsignaldumper_p.h
@@ -60,11 +60,14 @@ class QByteArray;
class QSignalDumper
{
public:
+ static void setEnabled(bool);
static void startDump();
static void endDump();
static void ignoreClass(const QByteArray &klass);
static void clearIgnoredClasses();
+private:
+ static bool s_isEnabled;
};
QT_END_NAMESPACE
diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp
index e352f72e20..6b55ae43c6 100644
--- a/src/testlib/qtestcase.cpp
+++ b/src/testlib/qtestcase.cpp
@@ -643,7 +643,7 @@ Q_TESTLIB_EXPORT void qtest_qParseArgs(int argc, const char *const argv[], bool
} else if (strcmp(argv[i], "-v2") == 0) {
QTestLog::setVerboseLevel(2);
} else if (strcmp(argv[i], "-vs") == 0) {
- QSignalDumper::startDump();
+ QSignalDumper::setEnabled(true);
} else if (strcmp(argv[i], "-o") == 0) {
if (i + 1 >= argc) {
fprintf(stderr, "-o needs an extra parameter specifying the filename and optional format\n");
@@ -1485,6 +1485,8 @@ void TestMethods::invokeTests(QObject *testObject) const
watchDog.reset(new WatchDog);
}
+ QSignalDumper::startDump();
+
if (!QTestResult::skipCurrentTest() && !QTest::currentTestFailed()) {
if (m_initTestCaseMethod.isValid())
m_initTestCaseMethod.invoke(testObject, Qt::DirectConnection);
@@ -1517,6 +1519,8 @@ void TestMethods::invokeTests(QObject *testObject) const
}
QTestResult::finishedCurrentTestFunction();
QTestResult::setCurrentTestFunction(nullptr);
+
+ QSignalDumper::endDump();
}
#if defined(Q_OS_WIN)
@@ -1965,8 +1969,6 @@ void QTest::qCleanup()
delete QBenchmarkGlobalData::current;
QBenchmarkGlobalData::current = nullptr;
- QSignalDumper::endDump();
-
#if defined(Q_OS_MACOS)
IOPMAssertionRelease(macPowerSavingDisabled);
#endif
diff --git a/tests/auto/testlib/selftests/expected_signaldumper.junitxml b/tests/auto/testlib/selftests/expected_signaldumper.junitxml
index 90940e061f..1077816d8d 100644
--- a/tests/auto/testlib/selftests/expected_signaldumper.junitxml
+++ b/tests/auto/testlib/selftests/expected_signaldumper.junitxml
@@ -1,13 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<testsuite errors="126" failures="0" tests="13" name="tst_Signaldumper">
+<testsuite errors="124" failures="0" tests="13" name="tst_Signaldumper">
<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">
- <!-- message="Signal: QThread(_POINTER_) started ()" type="info" -->
- </testcase>
+ <testcase result="pass" name="initTestCase"/>
<testcase result="pass" name="noConnections">
<!-- message="Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()" type="info" -->
<!-- message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
@@ -154,11 +152,8 @@
<testcase result="pass" name="deletingSender">
<!-- message="Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()" type="info" -->
</testcase>
- <testcase result="pass" name="cleanupTestCase">
- <!-- message=" Signal: QThread(_POINTER_) finished ()" type="info" -->
- </testcase>
+ <testcase result="pass" name="cleanupTestCase"/>
<system-err>
-<![CDATA[Signal: QThread(_POINTER_) started ()]]>
<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]>
<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]>
@@ -283,6 +278,5 @@
<![CDATA[Signal: SignalSlotClass(_POINTER_) qVariantSignal (QVariant())]]>
<![CDATA[Signal: SignalSlotClass(_POINTER_) qVariantSignal (QVariant())]]>
<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]>
-<![CDATA[ Signal: QThread(_POINTER_) finished ()]]>
</system-err>
</testsuite>
diff --git a/tests/auto/testlib/selftests/expected_signaldumper.lightxml b/tests/auto/testlib/selftests/expected_signaldumper.lightxml
index 2d5e6e695a..b43475089e 100644
--- a/tests/auto/testlib/selftests/expected_signaldumper.lightxml
+++ b/tests/auto/testlib/selftests/expected_signaldumper.lightxml
@@ -4,9 +4,6 @@
<QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion>
</Environment>
<TestFunction name="initTestCase">
-<Message type="info" file="" line="0">
- <Description><![CDATA[Signal: QThread(_POINTER_) started ()]]></Description>
-</Message>
<Incident type="pass" file="" line="0" />
<Duration msecs="0"/>
</TestFunction>
@@ -579,7 +576,4 @@
<Incident type="pass" file="" line="0" />
<Duration msecs="0"/>
</TestFunction>
-<Message type="info" file="" line="0">
- <Description><![CDATA[ Signal: QThread(_POINTER_) finished ()]]></Description>
-</Message>
<Duration msecs="0"/>
diff --git a/tests/auto/testlib/selftests/expected_signaldumper.tap b/tests/auto/testlib/selftests/expected_signaldumper.tap
index 8e7b2c5744..4e0ae0bf4f 100644
--- a/tests/auto/testlib/selftests/expected_signaldumper.tap
+++ b/tests/auto/testlib/selftests/expected_signaldumper.tap
@@ -1,6 +1,5 @@
TAP version 13
# tst_Signaldumper
-# Signal: QThread(_POINTER_) started ()
ok 1 - initTestCase()
# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
@@ -146,7 +145,6 @@ ok 19 - variousTypes()
# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
ok 20 - deletingSender()
ok 21 - cleanupTestCase()
-# Signal: QThread(_POINTER_) finished ()
1..21
# tests 21
# pass 21
diff --git a/tests/auto/testlib/selftests/expected_signaldumper.teamcity b/tests/auto/testlib/selftests/expected_signaldumper.teamcity
index f450cdc047..fcf52d48c0 100644
--- a/tests/auto/testlib/selftests/expected_signaldumper.teamcity
+++ b/tests/auto/testlib/selftests/expected_signaldumper.teamcity
@@ -1,6 +1,5 @@
##teamcity[testSuiteStarted name='tst_Signaldumper' flowId='tst_Signaldumper']
##teamcity[testStarted name='initTestCase()' flowId='tst_Signaldumper']
-##teamcity[testStdOut name='initTestCase()' out='INFO: Signal: QThread(_POINTER_) started ()' flowId='tst_Signaldumper']
##teamcity[testFinished name='initTestCase()' flowId='tst_Signaldumper']
##teamcity[testStarted name='noConnections()' flowId='tst_Signaldumper']
##teamcity[testStdOut name='noConnections()' out='INFO: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))' flowId='tst_Signaldumper']
diff --git a/tests/auto/testlib/selftests/expected_signaldumper.txt b/tests/auto/testlib/selftests/expected_signaldumper.txt
index ac4a2aed44..89eae69719 100644
--- a/tests/auto/testlib/selftests/expected_signaldumper.txt
+++ b/tests/auto/testlib/selftests/expected_signaldumper.txt
@@ -1,6 +1,5 @@
********* Start testing of tst_Signaldumper *********
Config: Using QtTest library
-INFO : tst_Signaldumper::initTestCase() Signal: QThread(_POINTER_) started ()
PASS : tst_Signaldumper::initTestCase()
INFO : tst_Signaldumper::noConnections() Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
INFO : tst_Signaldumper::noConnections() Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
@@ -146,6 +145,5 @@ PASS : tst_Signaldumper::variousTypes()
INFO : tst_Signaldumper::deletingSender() Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
PASS : tst_Signaldumper::deletingSender()
PASS : tst_Signaldumper::cleanupTestCase()
-INFO : tst_Signaldumper::UnknownTestFunc() Signal: QThread(_POINTER_) finished ()
Totals: 21 passed, 0 failed, 0 skipped, 0 blacklisted, 0ms
********* Finished testing of tst_Signaldumper *********
diff --git a/tests/auto/testlib/selftests/expected_signaldumper.xml b/tests/auto/testlib/selftests/expected_signaldumper.xml
index 37e7b3de92..2c251ec111 100644
--- a/tests/auto/testlib/selftests/expected_signaldumper.xml
+++ b/tests/auto/testlib/selftests/expected_signaldumper.xml
@@ -6,9 +6,6 @@
<QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion>
</Environment>
<TestFunction name="initTestCase">
-<Message type="info" file="" line="0">
- <Description><![CDATA[Signal: QThread(_POINTER_) started ()]]></Description>
-</Message>
<Incident type="pass" file="" line="0" />
<Duration msecs="0"/>
</TestFunction>
@@ -581,8 +578,5 @@
<Incident type="pass" file="" line="0" />
<Duration msecs="0"/>
</TestFunction>
-<Message type="info" file="" line="0">
- <Description><![CDATA[ Signal: QThread(_POINTER_) finished ()]]></Description>
-</Message>
<Duration msecs="0"/>
</TestCase>