mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
tests: make qml test harness
build a qml test runner that includes ssrf interface The qml test runner allows having qml test files. Signed-off-by: Jan Iversen <jani@apache.org>
This commit is contained in:
parent
55f0b3b1f8
commit
b05e4c7b5f
5 changed files with 78 additions and 1 deletions
46
tests/testqml.cpp
Normal file
46
tests/testqml.cpp
Normal file
|
@ -0,0 +1,46 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include <QQmlEngine>
|
||||
#include <QtQuickTest>
|
||||
#include <QtTest>
|
||||
#include <QQmlEngine>
|
||||
#include <QQmlContext>
|
||||
|
||||
#include "core/settings/qPref.h"
|
||||
|
||||
|
||||
// this is the content of QUICK_TEST_MAIN amended with
|
||||
// registration of ssrf classes
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
// QML testing is not supported in the oldest Qt versions we support
|
||||
// if running with Qt version less than 5.10 then skip test
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)
|
||||
QTEST_ADD_GPU_BLACKLIST_SUPPORT
|
||||
QTEST_SET_MAIN_SOURCE_PATH
|
||||
|
||||
// check that qPref exists
|
||||
new qPref;
|
||||
|
||||
// check that we have a directory
|
||||
if (argc < 2) {
|
||||
qDebug() << "ERROR: missing tst_* directory";
|
||||
return -1;
|
||||
}
|
||||
// save tst_dir and pass rest to Qt
|
||||
const char *tst_dir = argv[1];
|
||||
for (int i = 1; i < argc; i++)
|
||||
argv[i] = argv[i+1];
|
||||
argc--;
|
||||
|
||||
// Register types
|
||||
auto rc = qmlRegisterType<qPref>("org.subsurfacedivelog.mobile", 1, 0, "SsrfPrefs");
|
||||
if (rc < 0) {
|
||||
qDebug() << "ERROR: cannot register qPref";
|
||||
return -1;
|
||||
}
|
||||
|
||||
return quick_test_main(argc, argv, "TestQML", tst_dir);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue