diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/gui/image/qimagewriter/qimagewriter.pro | 9 | ||||
-rw-r--r-- | tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp | 33 |
2 files changed, 25 insertions, 17 deletions
diff --git a/tests/auto/gui/image/qimagewriter/qimagewriter.pro b/tests/auto/gui/image/qimagewriter/qimagewriter.pro index 10c950cf0a..78fb183b22 100644 --- a/tests/auto/gui/image/qimagewriter/qimagewriter.pro +++ b/tests/auto/gui/image/qimagewriter/qimagewriter.pro @@ -7,11 +7,4 @@ MOC_DIR=tmp win32-msvc:QMAKE_CXXFLAGS -= -Zm200 win32-msvc:QMAKE_CXXFLAGS += -Zm800 -wince*: { - addFiles.files = images\\*.* - addFiles.path = images - DEPLOYMENT += addFiles - DEFINES += SRCDIR=\\\".\\\" -} else { - DEFINES += SRCDIR=\\\"$$PWD\\\" -} +TESTDATA += images/* diff --git a/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp b/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp index 9acf210eeb..681dc87ae3 100644 --- a/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp +++ b/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp @@ -71,6 +71,7 @@ public: public slots: void init(); + void initTestCase(); void cleanup(); private slots: @@ -100,10 +101,10 @@ private slots: void resolution(); void saveToTemporaryFile(); +private: + QString prefix; }; -static const QLatin1String prefix(SRCDIR "/images/"); - static void initializePadding(QImage *image) { int effectiveBytesPerLine = (image->width() * image->depth() + 7) / 8; @@ -115,6 +116,13 @@ static void initializePadding(QImage *image) } } +void tst_QImageWriter::initTestCase() +{ + prefix = QFINDTESTDATA("images/"); + if (prefix.isEmpty()) + QFAIL("Can't find images directory!"); +} + // Testing get/set functions void tst_QImageWriter::getSetCheck() { @@ -217,15 +225,22 @@ void tst_QImageWriter::writeImage() } { - // Shouldn't be able to write to read-only file - QFile sourceFile(prefix + "gen-" + fileName); - QFile::Permissions permissions = sourceFile.permissions(); - QVERIFY(sourceFile.setPermissions(QFile::ReadOwner | QFile::ReadUser | QFile::ReadGroup | QFile::ReadOther)); + bool skip = false; +#if defined(Q_OS_UNIX) + if (::geteuid() == 0) + skip = true; +#endif + if (!skip) { + // Shouldn't be able to write to read-only file + QFile sourceFile(prefix + "gen-" + fileName); + QFile::Permissions permissions = sourceFile.permissions(); + QVERIFY(sourceFile.setPermissions(QFile::ReadOwner | QFile::ReadUser | QFile::ReadGroup | QFile::ReadOther)); - QImageWriter writer(prefix + "gen-" + fileName, format); - QVERIFY(!writer.write(image)); + QImageWriter writer(prefix + "gen-" + fileName, format); + QVERIFY(!writer.write(image)); - QVERIFY(sourceFile.setPermissions(permissions)); + QVERIFY(sourceFile.setPermissions(permissions)); + } } QImage image2; |