summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/io
diff options
context:
space:
mode:
authorEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>2015-02-12 13:35:03 +0100
committerEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>2015-02-18 12:09:16 +0000
commitfd18d13612dd74ddd8747fd28905ad791eb4f4ff (patch)
tree63bfab5ce7a4aad8915acd7b237f1a2806a02b0d /tests/auto/corelib/io
parent72d5c84407ad0eb1c4e660343ec456280e874595 (diff)
Use qrc for test data in QFileInfo test on all platforms
To make the test compatible with cross-compilation, we need to bundle test data in qrc, and then extract files to the file system during initialization. We did this for Android before, but the change is required on many platforms and since it will also work on desktop platforms, we consistently just do it this way everywhere. Change-Id: I7f65bd9e1dd6f217e6adffda44a40da7599cfe72 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
Diffstat (limited to 'tests/auto/corelib/io')
-rw-r--r--tests/auto/corelib/io/qfileinfo/qfileinfo.pro9
-rw-r--r--tests/auto/corelib/io/qfileinfo/testdata.qrc (renamed from tests/auto/corelib/io/qfileinfo/android_testdata.qrc)2
-rw-r--r--tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp39
3 files changed, 14 insertions, 36 deletions
diff --git a/tests/auto/corelib/io/qfileinfo/qfileinfo.pro b/tests/auto/corelib/io/qfileinfo/qfileinfo.pro
index 3fd58b4958..aa5a9d92f1 100644
--- a/tests/auto/corelib/io/qfileinfo/qfileinfo.pro
+++ b/tests/auto/corelib/io/qfileinfo/qfileinfo.pro
@@ -2,13 +2,8 @@ CONFIG += testcase
TARGET = tst_qfileinfo
QT = core-private testlib
SOURCES = tst_qfileinfo.cpp
-RESOURCES += qfileinfo.qrc
-
-TESTDATA += qfileinfo.qrc qfileinfo.pro tst_qfileinfo.cpp resources/file1 resources/file1.ext1 resources/file1.ext1.ext2
+RESOURCES += qfileinfo.qrc \
+ testdata.qrc
win32*:!wince*:!winrt:LIBS += -ladvapi32 -lnetapi32
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
-
-android:!android-no-sdk: {
- RESOURCES += android_testdata.qrc
-}
diff --git a/tests/auto/corelib/io/qfileinfo/android_testdata.qrc b/tests/auto/corelib/io/qfileinfo/testdata.qrc
index ce545cc21c..d2974bae77 100644
--- a/tests/auto/corelib/io/qfileinfo/android_testdata.qrc
+++ b/tests/auto/corelib/io/qfileinfo/testdata.qrc
@@ -1,5 +1,5 @@
<RCC>
- <qresource prefix="/android_testdata">
+ <qresource prefix="/testdata">
<file>resources/file1</file>
<file>resources/file1.ext1</file>
<file>resources/file1.ext1.ext2</file>
diff --git a/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp b/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp
index 0c71675e1a..05546eb2b7 100644
--- a/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp
+++ b/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp
@@ -265,40 +265,22 @@ private slots:
private:
const QString m_currentDir;
+ QString m_dataPath;
QString m_sourceFile;
+ QString m_proFile;
QString m_resourcesDir;
QTemporaryDir m_dir;
};
void tst_QFileInfo::initTestCase()
{
-#if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_NO_SDK)
- QString dataPath = QStandardPaths::writableLocation(QStandardPaths::CacheLocation);
- QString resourceSourcePath = QStringLiteral(":/android_testdata");
- QDirIterator it(resourceSourcePath, QDirIterator::Subdirectories);
- while (it.hasNext()) {
- it.next();
-
- QFileInfo fileInfo = it.fileInfo();
- if (!fileInfo.isDir()) {
- QString destination = dataPath + QLatin1Char('/') + fileInfo.filePath().mid(resourceSourcePath.length());
- QFileInfo destinationFileInfo(destination);
- if (!destinationFileInfo.exists()) {
- QDir().mkpath(destinationFileInfo.path());
- if (!QFile::copy(fileInfo.filePath(), destination))
- qWarning("Failed to copy %s", qPrintable(fileInfo.filePath()));
- }
- }
- }
- m_sourceFile = dataPath + QStringLiteral("/tst_qfileinfo.cpp");
- m_resourcesDir = dataPath + QStringLiteral("/resources");
-#else
- m_sourceFile = QFINDTESTDATA("tst_qfileinfo.cpp");
- m_resourcesDir = QFINDTESTDATA("resources");
-#endif
+ m_dataPath = QEXTRACTTESTDATA("/testdata");
+ QVERIFY(!m_dataPath.isEmpty());
+
+ m_sourceFile = m_dataPath + QStringLiteral("/tst_qfileinfo.cpp");
+ m_resourcesDir = m_dataPath + QStringLiteral("/resources");
+ m_proFile = m_dataPath + QStringLiteral("/tst_qfileinfo.pro");
- QVERIFY(!m_sourceFile.isEmpty());
- QVERIFY(!m_resourcesDir.isEmpty());
QVERIFY(m_dir.isValid());
QVERIFY(QDir::setCurrent(m_dir.path()));
}
@@ -306,6 +288,7 @@ void tst_QFileInfo::initTestCase()
void tst_QFileInfo::cleanupTestCase()
{
QDir::setCurrent(m_currentDir); // Release temporary directory so that it can be deleted on Windows
+ QDir(m_dataPath).removeRecursively();
}
// Testing get/set functions
@@ -1622,7 +1605,7 @@ void tst_QFileInfo::isExecutable()
QFileInfo fi(appPath);
QCOMPARE(fi.isExecutable(), true);
- QCOMPARE(QFileInfo(QFINDTESTDATA("qfileinfo.pro")).isExecutable(), false);
+ QCOMPARE(QFileInfo(m_proFile).isExecutable(), false);
#ifdef Q_OS_UNIX
QFile::remove("link.lnk");
@@ -1634,7 +1617,7 @@ void tst_QFileInfo::isExecutable()
QFile::remove("link.lnk");
// Symlink to .pro file
- QFile proFile(QFINDTESTDATA("qfileinfo.pro"));
+ QFile proFile(m_proFile);
QVERIFY(proFile.link("link.lnk"));
QCOMPARE(QFileInfo("link.lnk").isExecutable(), false);
QFile::remove("link.lnk");