QTextStream test: Change current directory

For platforms with builtin testdata/sandboxed platforms we need to
change the current directory to be able to create files.

Change-Id: I440205c95dd6df1308c6bf24b1b0f67fd697feab
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
This commit is contained in:
Maurice Kalinowski 2016-03-11 11:14:49 +01:00
parent e363817498
commit eef3afaa97
2 changed files with 20 additions and 0 deletions

View File

@ -21,3 +21,7 @@ TESTDATA += \
../tst_qtextstream.cpp \
../resources
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
builtin_testdata {
DEFINES += BUILTIN_TESTDATA
}

View File

@ -65,6 +65,7 @@ public:
public slots:
void initTestCase();
void cleanup();
void cleanupTestCase();
private slots:
void getSetCheck();
@ -241,6 +242,9 @@ private:
QTemporaryDir tempDir;
QString testFileName;
#ifdef BUILTIN_TESTDATA
QSharedPointer<QTemporaryDir> m_dataDir;
#endif
const QString m_rfc3261FilePath;
const QString m_shiftJisFilePath;
};
@ -267,9 +271,14 @@ void tst_QTextStream::initTestCase()
testFileName = tempDir.path() + "/testfile";
#ifdef BUILTIN_TESTDATA
m_dataDir = QEXTRACTTESTDATA("/");
QVERIFY2(QDir::setCurrent(m_dataDir->path()), qPrintable("Could not chdir to " + m_dataDir->path()));
#else
// chdir into the testdata dir and refer to our helper apps with relative paths
QString testdata_dir = QFileInfo(QFINDTESTDATA("stdinProcess")).absolutePath();
QVERIFY2(QDir::setCurrent(testdata_dir), qPrintable("Could not chdir to " + testdata_dir));
#endif
}
// Testing get/set functions
@ -392,6 +401,13 @@ void tst_QTextStream::cleanup()
QCoreApplication::instance()->processEvents();
}
void tst_QTextStream::cleanupTestCase()
{
#ifdef BUILTIN_TESTDATA
QDir::setCurrent(QCoreApplication::applicationDirPath());
#endif
}
// ------------------------------------------------------------------------------
void tst_QTextStream::construction()
{