summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSamuel Gaist <samuel.gaist@edeltech.ch>2013-11-03 22:00:18 (GMT)
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-11-04 10:14:21 (GMT)
commit6bf8bbeb813f70b44105994d745133d9ed5f9ea1 (patch)
tree6c862877d857241de5017f7bd91565aaeb225601 /src
parentbe4e275fdb2f144b79c90b7fe612132ab3dbc0a9 (diff)
downloadQt-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.cpp11
-rw-r--r--src/testlib/qtestcase.h2
-rw-r--r--src/testlib/qtestresult.cpp11
-rw-r--r--src/testlib/qtestresult_p.h3
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)
};