diff options
author | Samuel Gaist <samuel.gaist@edeltech.ch> | 2013-11-03 22:00:18 (GMT) |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-11-04 10:14:21 (GMT) |
commit | 6bf8bbeb813f70b44105994d745133d9ed5f9ea1 (patch) | |
tree | 6c862877d857241de5017f7bd91565aaeb225601 /src | |
parent | be4e275fdb2f144b79c90b7fe612132ab3dbc0a9 (diff) | |
download | Qt-6bf8bbeb813f70b44105994d745133d9ed5f9ea1.zip Qt-6bf8bbeb813f70b44105994d745133d9ed5f9ea1.tar.gz Qt-6bf8bbeb813f70b44105994d745133d9ed5f9ea1.tar.bz2 |
Expose QTest::currentAppName() and remove hard-coded argv[0] in tests
Except where we're actually testing QCoreApplication::applicationName()
and friends.
Based on a3530859e9a7423db0b6839f15538f248aaf4a79
Change-Id: I36ef8cbb5d8bce45225a7f81409f46f1d584287b
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/testlib/qtestcase.cpp | 11 | ||||
-rw-r--r-- | src/testlib/qtestcase.h | 2 | ||||
-rw-r--r-- | src/testlib/qtestresult.cpp | 11 | ||||
-rw-r--r-- | src/testlib/qtestresult_p.h | 3 |
4 files changed, 27 insertions, 0 deletions
diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp index 7dd274e..1345e73 100644 --- a/src/testlib/qtestcase.cpp +++ b/src/testlib/qtestcase.cpp @@ -1896,6 +1896,9 @@ int QTest::qExec(QObject *testObject, int argc, char **argv) QTEST_ASSERT(metaObject); QTestResult::setCurrentTestObject(metaObject->className()); + if (argc > 0) + QTestResult::setCurrentAppName(argv[0]); + qtest_qParseArgs(argc, argv, false); if (QTest::randomOrder) { seedRandom(); @@ -2139,6 +2142,14 @@ QTestData &QTest::newRow(const char *dataTag) */ /*! + Returns the name of the binary that is currently executed. +*/ +const char *QTest::currentAppName() +{ + return QTestResult::currentAppName(); +} + +/*! Returns the name of the test function that is currently executed. Example: diff --git a/src/testlib/qtestcase.h b/src/testlib/qtestcase.h index 19e04bf..225d68b 100644 --- a/src/testlib/qtestcase.h +++ b/src/testlib/qtestcase.h @@ -147,6 +147,8 @@ namespace QTest Q_TESTLIB_EXPORT void *qElementData(const char *elementName, int metaTypeId); Q_TESTLIB_EXPORT QObject *testObject(); + Q_TESTLIB_EXPORT const char *currentAppName(); + Q_TESTLIB_EXPORT const char *currentTestFunction(); Q_TESTLIB_EXPORT const char *currentDataTag(); Q_TESTLIB_EXPORT bool currentTestFailed(); diff --git a/src/testlib/qtestresult.cpp b/src/testlib/qtestresult.cpp index de92ddb..d87075a 100644 --- a/src/testlib/qtestresult.cpp +++ b/src/testlib/qtestresult.cpp @@ -68,6 +68,8 @@ namespace QTest static const char *expectFailComment = 0; static int expectFailMode = 0; + + static const char *currentAppName = 0; } void QTestResult::reset() @@ -349,4 +351,13 @@ bool QTestResult::skipCurrentTest() return QTest::skipCurrentTest; } +void QTestResult::setCurrentAppName(const char *appName) +{ + QTest::currentAppName = appName; +} +const char *QTestResult::currentAppName() +{ + return QTest::currentAppName; +} + QT_END_NAMESPACE diff --git a/src/testlib/qtestresult_p.h b/src/testlib/qtestresult_p.h index 1301a62..f452a9a 100644 --- a/src/testlib/qtestresult_p.h +++ b/src/testlib/qtestresult_p.h @@ -103,6 +103,9 @@ public: static void setSkipCurrentTest(bool value); static bool skipCurrentTest(); + static void setCurrentAppName(const char *appName); + static const char *currentAppName(); + private: Q_DISABLE_COPY(QTestResult) }; |