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>
This commit is contained in:
parent
7778028f99
commit
5cda89ce03
|
@ -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(':'))
|
||||
, m_dataDirectoryUrl(m_dataDirectory.startsWith(QLatin1Char(':'))
|
||||
? QUrl(QLatin1String("qrc") + m_dataDirectory + QLatin1Char('/'))
|
||||
: QUrl::fromLocalFile(m_dataDirectory + QLatin1Char('/'))),
|
||||
m_failOnWarningsPolicy(failOnWarningsPolicy)
|
||||
: 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));
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue