summaryrefslogtreecommitdiffstats
path: root/tests/auto/testlib
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/testlib')
-rw-r--r--tests/auto/testlib/selftests/findtestdata/findtestdata.cpp24
-rw-r--r--tests/auto/testlib/selftests/test/test.pro2
2 files changed, 25 insertions, 1 deletions
diff --git a/tests/auto/testlib/selftests/findtestdata/findtestdata.cpp b/tests/auto/testlib/selftests/findtestdata/findtestdata.cpp
index a775bc1ee5..7d5857faa0 100644
--- a/tests/auto/testlib/selftests/findtestdata/findtestdata.cpp
+++ b/tests/auto/testlib/selftests/findtestdata/findtestdata.cpp
@@ -134,6 +134,30 @@ void FindTestData::paths()
#endif
QVERIFY(QFile(testfile_path3).remove());
+#if !defined(Q_OS_WIN)
+ struct ChdirOnReturn
+ {
+ ~ChdirOnReturn() { QDir::setCurrent(dir); }
+ QString dir;
+ };
+
+ // When cross-compiling from Windows to a *nix system the __FILE__ path's canonical path is an
+ // empty string, which, when used as a prefix, would cause QFINDTESTDATA to look for files in
+ // root ('/') when trying to look for files relative to the test source.
+ QString usrPath = app_path + "/temp/usr/";
+ QVERIFY(QDir().mkpath(usrPath));
+ {
+ ChdirOnReturn chdirObject{QDir::currentPath()};
+ QDir::setCurrent(app_path + "/temp");
+ QCOMPARE(QTest::qFindTestData("usr/",
+ "C:\\path\\to\\source\\source.cpp",
+ __LINE__,
+ "C:\\path\\to\\build\\").toLower(),
+ usrPath.toLower());
+ }
+ QVERIFY(QDir().rmpath(usrPath));
+#endif
+
// Note, this is expected to generate a warning.
// We can't use ignoreMessage, because the warning comes from testlib,
// not via a "normal" qWarning. But it's OK, our caller (tst_selftests)
diff --git a/tests/auto/testlib/selftests/test/test.pro b/tests/auto/testlib/selftests/test/test.pro
index a348ea9ad5..ec1633ebff 100644
--- a/tests/auto/testlib/selftests/test/test.pro
+++ b/tests/auto/testlib/selftests/test/test.pro
@@ -17,5 +17,5 @@ expected_files.base = $$PWD/..
RESOURCES += expected_files
include(../selftests.pri)
-!winrt: for(file, SUBPROGRAMS): TEST_HELPER_INSTALLS += "../$${file}/$${file}"
+!android:!winrt: for(file, SUBPROGRAMS): TEST_HELPER_INSTALLS += "../$${file}/$${file}"