From 77ddb00a49fdde54df2b232e9e901a08e48cee6d Mon Sep 17 00:00:00 2001 From: Kurt Korbatits Date: Wed, 4 Jan 2012 12:28:20 +1000 Subject: Changed tests: qmake,selftest and lancelot to use QFINDTESTDATA. Changed these tests to use QFINDTESTDATA macro to detect location of testdata. Checking for a specific file contained in the testdata so as not to be confused by empty directories created during configure. Change-Id: Iac2ac6304b6b9ac79e00886025b93ec0af5a8507 Reviewed-by: Jason McDonald Reviewed-by: Rohan McGovern --- tests/auto/other/lancelot/lancelot.pro | 3 +-- tests/auto/other/lancelot/tst_lancelot.cpp | 11 ++--------- tests/auto/testlib/selftests/tst_selftests.cpp | 11 ++++++++++- tests/auto/tools/qmake/tst_qmake.cpp | 9 +++++++-- 4 files changed, 20 insertions(+), 14 deletions(-) (limited to 'tests/auto') diff --git a/tests/auto/other/lancelot/lancelot.pro b/tests/auto/other/lancelot/lancelot.pro index bbb48c745e..ced8aceb99 100644 --- a/tests/auto/other/lancelot/lancelot.pro +++ b/tests/auto/other/lancelot/lancelot.pro @@ -10,7 +10,6 @@ RESOURCES += images.qrc include($$PWD/../../../baselineserver/shared/qbaselinetest.pri) -!wince*:DEFINES += SRCDIR=\\\"$$PWD\\\" -linux-g++-maemo:DEFINES += USE_RUNTIME_DIR +TESTDATA += scripts/* CONFIG += insignificant_test # QTBUG-21402 diff --git a/tests/auto/other/lancelot/tst_lancelot.cpp b/tests/auto/other/lancelot/tst_lancelot.cpp index cbbd28dc82..e024b75400 100644 --- a/tests/auto/other/lancelot/tst_lancelot.cpp +++ b/tests/auto/other/lancelot/tst_lancelot.cpp @@ -50,10 +50,6 @@ #include #endif -#ifndef SRCDIR -#define SRCDIR "." -#endif - class tst_Lancelot : public QObject { Q_OBJECT @@ -114,11 +110,8 @@ void tst_Lancelot::initTestCase() if (!proto.connect(QLatin1String("tst_Lancelot"), &dryRunMode, clientInfo)) QSKIP(qPrintable(proto.errorMessage())); -#if defined(USE_RUNTIME_DIR) - scriptsDir = QCoreApplication::applicationDirPath() + "/scripts/"; -#else - scriptsDir = SRCDIR "/scripts/"; -#endif + QString baseDir = QFINDTESTDATA("scripts/text.qps"); + scriptsDir = baseDir.left(baseDir.lastIndexOf('/')) + '/'; QDir qpsDir(scriptsDir); QStringList files = qpsDir.entryList(QStringList() << QLatin1String("*.qps"), QDir::Files | QDir::Readable); if (files.isEmpty()) { diff --git a/tests/auto/testlib/selftests/tst_selftests.cpp b/tests/auto/testlib/selftests/tst_selftests.cpp index cb03611af3..e8c4806794 100644 --- a/tests/auto/testlib/selftests/tst_selftests.cpp +++ b/tests/auto/testlib/selftests/tst_selftests.cpp @@ -291,8 +291,17 @@ static QList allLoggerSets() void tst_Selftests::initTestCase() { + //Detect the location of the sub programs + QString subProgram = QLatin1String("float/float"); +#if defined(Q_OS_WIN) + subProgram = QLatin1String("float/float.exe"); +#endif + QString testdataDir = QFINDTESTDATA(subProgram); + if (testdataDir.lastIndexOf(subProgram) > 0) + testdataDir = testdataDir.left(testdataDir.lastIndexOf(subProgram)); + else + testdataDir = QCoreApplication::applicationDirPath(); // chdir to our testdata path and execute helper apps relative to that. - QString testdataDir = QFileInfo(QFINDTESTDATA("float")).absolutePath(); QVERIFY2(QDir::setCurrent(testdataDir), qPrintable("Could not chdir to " + testdataDir)); } diff --git a/tests/auto/tools/qmake/tst_qmake.cpp b/tests/auto/tools/qmake/tst_qmake.cpp index dbb845ba81..6e1562e2ca 100644 --- a/tests/auto/tools/qmake/tst_qmake.cpp +++ b/tests/auto/tools/qmake/tst_qmake.cpp @@ -118,8 +118,13 @@ void tst_qmake::initTestCase() #else test_compiler.setBaseCommands( "make", cmd ); #endif - QString tmpFile = QFINDTESTDATA("testdata"); - base_path = tmpFile.left(tmpFile.lastIndexOf('/')); + //Detect the location of the testdata + QString subProgram = QLatin1String("testdata/simple_app/main.cpp"); + base_path = QFINDTESTDATA(subProgram); + if (base_path.lastIndexOf(subProgram) > 0) + base_path = base_path.left(base_path.lastIndexOf(subProgram)); + else + base_path = QCoreApplication::applicationDirPath(); } void tst_qmake::cleanupTestCase() -- cgit v1.2.3