aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2022-09-02 12:55:39 +0200
committerUlf Hermann <ulf.hermann@qt.io>2022-09-07 16:57:00 +0200
commit5cda89ce030ff5fbc9e95be1b9ca74adb401a9d7 (patch)
tree26c395169d4c2ccbcd1e2e2ac2b25bf11830190d
parent7778028f993cd64fc8f1cf4800a5341c395f88c3 (diff)
QuickTestUtils: Make 'data' subdir configurable
tst_ecmascripttests wants to call it "test262". Task-number: QTBUG-100242 Change-Id: I978171a85fe6ade1cc40129db42ef9a5177fe90f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
-rw-r--r--src/quicktestutils/qml/qmlutils.cpp25
-rw-r--r--src/quicktestutils/qml/qmlutils_p.h12
2 files changed, 22 insertions, 15 deletions
diff --git a/src/quicktestutils/qml/qmlutils.cpp b/src/quicktestutils/qml/qmlutils.cpp
index 658b952573..05d94b68ae 100644
--- a/src/quicktestutils/qml/qmlutils.cpp
+++ b/src/quicktestutils/qml/qmlutils.cpp
@@ -12,18 +12,19 @@ QT_BEGIN_NAMESPACE
QQmlDataTest *QQmlDataTest::m_instance = nullptr;
-QQmlDataTest::QQmlDataTest(const char *qmlTestDataDir, FailOnWarningsPolicy failOnWarningsPolicy) :
- m_qmlTestDataDir(qmlTestDataDir),
+QQmlDataTest::QQmlDataTest(
+ const char *qmlTestDataDir, FailOnWarningsPolicy failOnWarningsPolicy,
+ const char *dataSubDir)
+ : m_qmlTestDataDir(qmlTestDataDir)
#ifdef QT_TESTCASE_BUILDDIR
- m_dataDirectory(QTest::qFindTestData("data", m_qmlTestDataDir, 0, QT_TESTCASE_BUILDDIR)),
+ , m_dataDirectory(QTest::qFindTestData(dataSubDir, m_qmlTestDataDir, 0, QT_TESTCASE_BUILDDIR))
#else
- m_dataDirectory(QTest::qFindTestData("data", m_qmlTestDataDir, 0)),
+ , m_dataDirectory(QTest::qFindTestData(dataSubDir, m_qmlTestDataDir, 0))
#endif
-
- m_dataDirectoryUrl(m_dataDirectory.startsWith(QLatin1Char(':'))
- ? QUrl(QLatin1String("qrc") + m_dataDirectory + QLatin1Char('/'))
- : QUrl::fromLocalFile(m_dataDirectory + QLatin1Char('/'))),
- m_failOnWarningsPolicy(failOnWarningsPolicy)
+ , m_dataDirectoryUrl(m_dataDirectory.startsWith(QLatin1Char(':'))
+ ? QUrl(QLatin1String("qrc") + m_dataDirectory + QLatin1Char('/'))
+ : QUrl::fromLocalFile(m_dataDirectory + QLatin1Char('/')))
+ , m_failOnWarningsPolicy(failOnWarningsPolicy)
{
m_instance = this;
if (m_cacheDir.isValid() && !qEnvironmentVariableIsSet("QML_DISK_CACHE_PATH")) {
@@ -41,8 +42,10 @@ QQmlDataTest::~QQmlDataTest()
void QQmlDataTest::initTestCase()
{
- QVERIFY2(!m_dataDirectory.isEmpty(), qPrintable(QLatin1String(
- "'data' directory not found in ") + QFileInfo(QString::fromUtf8(m_qmlTestDataDir)).absolutePath()));
+ QVERIFY2(!m_dataDirectory.isEmpty(), qPrintable(
+ QLatin1String("'%1' directory not found in %2").arg(
+ QString::fromUtf8(m_dataSubDir),
+ QFileInfo(QString::fromUtf8(m_qmlTestDataDir)).absolutePath())));
m_directory = QFileInfo(m_dataDirectory).absolutePath();
if (m_dataDirectoryUrl.scheme() != QLatin1String("qrc"))
QVERIFY2(QDir::setCurrent(m_directory), qPrintable(QLatin1String("Could not chdir to ") + m_directory));
diff --git a/src/quicktestutils/qml/qmlutils_p.h b/src/quicktestutils/qml/qmlutils_p.h
index 962268897d..47825a3793 100644
--- a/src/quicktestutils/qml/qmlutils_p.h
+++ b/src/quicktestutils/qml/qmlutils_p.h
@@ -36,8 +36,10 @@ public:
FailOnWarnings
};
- QQmlDataTest(const char *qmlTestDataDir,
- FailOnWarningsPolicy failOnWarningsPolicy = FailOnWarningsPolicy::DoNotFailOnWarnings);
+ QQmlDataTest(
+ const char *qmlTestDataDir,
+ FailOnWarningsPolicy failOnWarningsPolicy = FailOnWarningsPolicy::DoNotFailOnWarnings,
+ const char *dataSubdir = "data");
virtual ~QQmlDataTest();
QString testFile(const QString &fileName) const;
@@ -68,9 +70,11 @@ public Q_SLOTS:
private:
static QQmlDataTest *m_instance;
- // The directory in which to search for the "data" directory.
+ // The directory in which to search for m_dataSubDir.
const char *m_qmlTestDataDir = nullptr;
- // The path to the "data" directory, if found.
+ // The subdirectory containing the actual data. Typically "data"
+ const char *m_dataSubDir = nullptr;
+ // The path to m_dataSubDir, if found.
const QString m_dataDirectory;
const QUrl m_dataDirectoryUrl;
QTemporaryDir m_cacheDir;