From 3caa5f3e2a2ea8bc830acb3662f67339d4dc1ead Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Wed, 2 Jun 2021 13:45:56 +0200 Subject: Add 'testsupport' to cmake builds This enables running more tests. Fix issues with tst_qquickwebengineviewgraphics. Change-Id: Ib223b4e723a7192c18202e8d5dd65d83872f3336 Reviewed-by: Allan Sandfeld Jensen (cherry picked from commit 4e92dc14b86655154f70e8a1093cc9f3aae1604f) Reviewed-by: Qt Cherry-pick Bot --- CMakeLists.txt | 1 + src/webenginequick/CMakeLists.txt | 13 ++++++++++++- src/webenginequick/configure.cmake | 2 +- src/webenginequick/testsupport/CMakeLists.txt | 17 +++++++++++++++++ src/webenginequick/testsupport/plugin.cpp | 1 + tests/auto/quick/CMakeLists.txt | 4 ++-- tests/auto/quick/qmltests/CMakeLists.txt | 2 +- .../quick/qquickwebengineviewgraphics/CMakeLists.txt | 11 +++++++++++ .../tst_qquickwebengineviewgraphics.cpp | 10 +++++----- 9 files changed, 51 insertions(+), 10 deletions(-) create mode 100644 src/webenginequick/testsupport/CMakeLists.txt create mode 100644 tests/auto/quick/qquickwebengineviewgraphics/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e9b0a586..c54c76bac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,6 +38,7 @@ qt_feature_module_begin(ONLY_EVALUATE_FEATURES) set(__QtFeature_only_evaluate_features OFF) include(configure.cmake) include(src/core/api/configure.cmake) +include(src/webenginequick/configure.cmake) qt_feature_module_end(ONLY_EVALUATE_FEATURES) if(NOT ${webEngineSupport}) diff --git a/src/webenginequick/CMakeLists.txt b/src/webenginequick/CMakeLists.txt index 1362984dc..57ced1441 100644 --- a/src/webenginequick/CMakeLists.txt +++ b/src/webenginequick/CMakeLists.txt @@ -1,9 +1,12 @@ find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS Gui Qml Quick) -find_package(Qt6 ${PROJECT_VERSION} CONFIG QUIET OPTIONAL_COMPONENTS PrintSupport WebChannel Positioning) +find_package(Qt6 ${PROJECT_VERSION} CONFIG QUIET OPTIONAL_COMPONENTS PrintSupport WebChannel Positioning Test) get_configure_mode(configureMode) add_subdirectory(plugin) +if(QT_FEATURE_webenginequick_testsupport) + add_subdirectory(testsupport) +endif() qt_internal_add_module(WebEngineQuick ${configureMode} SOURCES @@ -44,4 +47,12 @@ qt_internal_add_module(WebEngineQuick Qt::Quick Qt::WebEngineCore ) + +qt_internal_extend_target(WebEngineQuick CONDITION QT_FEATURE_webenginequick_testsupport + SOURCES + api/qquickwebenginetestsupport.cpp api/qquickwebenginetestsupport_p.h + LIBRARIES + Qt::TestPrivate +) + make_install_only(WebEngineQuick) diff --git a/src/webenginequick/configure.cmake b/src/webenginequick/configure.cmake index 5f095ca51..19dded637 100644 --- a/src/webenginequick/configure.cmake +++ b/src/webenginequick/configure.cmake @@ -8,7 +8,7 @@ qt_feature("webenginequick-ui-delegates" PRIVATE ) qt_feature("webenginequick-testsupport" PRIVATE LABEL "Test Support" - AUTODETECT FALSE + AUTODETECT QT_FEATURE_webengine_developer_build ) qt_configure_add_summary_section(NAME "Qt WebEngineQuick") qt_configure_add_summary_entry(ARGS "webenginequick-qml") diff --git a/src/webenginequick/testsupport/CMakeLists.txt b/src/webenginequick/testsupport/CMakeLists.txt new file mode 100644 index 000000000..57805a450 --- /dev/null +++ b/src/webenginequick/testsupport/CMakeLists.txt @@ -0,0 +1,17 @@ +qt_internal_add_qml_module(qtwebenginetestsupportplugin + URI "QtWebEngine.testsupport" + VERSION "${PROJECT_VERSION}" + CLASS_NAME QtWebEngineTestSupportPlugin + PLUGIN_TARGET qtwebenginetestsupportplugin + NO_GENERATE_PLUGIN_SOURCE + NO_PLUGIN_OPTIONAL + NO_GENERATE_QMLTYPES + INSTALL_SOURCE_QMLTYPES "plugins.qmltypes" + SOURCES + plugin.cpp + LIBRARIES + Qt::GuiPrivate + Qt::Qml + Qt::WebEngineQuickPrivate +) +make_install_only(qtwebenginetestsupportplugin) diff --git a/src/webenginequick/testsupport/plugin.cpp b/src/webenginequick/testsupport/plugin.cpp index 02e6d66c4..1880c2733 100644 --- a/src/webenginequick/testsupport/plugin.cpp +++ b/src/webenginequick/testsupport/plugin.cpp @@ -39,6 +39,7 @@ #include +#include #include QT_BEGIN_NAMESPACE diff --git a/tests/auto/quick/CMakeLists.txt b/tests/auto/quick/CMakeLists.txt index 6fd767049..3ad3b37c8 100644 --- a/tests/auto/quick/CMakeLists.txt +++ b/tests/auto/quick/CMakeLists.txt @@ -7,6 +7,6 @@ if(NOT boot2qt) add_subdirectory(qmltests) add_subdirectory(qquickwebengineview) endif() -if(QT_FEATURE_webengine_testsupport) -# add_subdirectory(qquickwebengineviewgraphics) +if(QT_FEATURE_webenginequick_testsupport) + add_subdirectory(qquickwebengineviewgraphics) endif() diff --git a/tests/auto/quick/qmltests/CMakeLists.txt b/tests/auto/quick/qmltests/CMakeLists.txt index 487d07dc8..56ba60ebb 100644 --- a/tests/auto/quick/qmltests/CMakeLists.txt +++ b/tests/auto/quick/qmltests/CMakeLists.txt @@ -55,7 +55,7 @@ if(QT_FEATURE_ssl) list(APPEND testList tst_certificateError.qml) endif() -if(QT_FEATURE_webengine_testsupport) +if(QT_FEATURE_webenginequick_testsupport) list(APPEND testList tst_inputMethod.qml tst_javaScriptDialogs.qml diff --git a/tests/auto/quick/qquickwebengineviewgraphics/CMakeLists.txt b/tests/auto/quick/qquickwebengineviewgraphics/CMakeLists.txt new file mode 100644 index 000000000..c7e6bc925 --- /dev/null +++ b/tests/auto/quick/qquickwebengineviewgraphics/CMakeLists.txt @@ -0,0 +1,11 @@ +include(../../util/util.cmake) +qt_internal_add_test(tst_qquickwebengineviewgraphics + SOURCES + tst_qquickwebengineviewgraphics.cpp + LIBRARIES + Qt::CorePrivate + Qt::WebEngineWidgets + Qt::WebEngineQuickPrivate + Qt::Test + Test::Util +) diff --git a/tests/auto/quick/qquickwebengineviewgraphics/tst_qquickwebengineviewgraphics.cpp b/tests/auto/quick/qquickwebengineviewgraphics/tst_qquickwebengineviewgraphics.cpp index d04a88510..855b01653 100644 --- a/tests/auto/quick/qquickwebengineviewgraphics/tst_qquickwebengineviewgraphics.cpp +++ b/tests/auto/quick/qquickwebengineviewgraphics/tst_qquickwebengineviewgraphics.cpp @@ -26,15 +26,14 @@ ** ****************************************************************************/ -#include "util.h" - +#include #include #include #include #include #include #include -#include +#include #include @@ -153,10 +152,11 @@ void tst_QQuickWebEngineViewGraphics::setHtml(const QString &html) m_view->create(); QQuickWebEngineView *webEngineView = static_cast(m_view->rootObject()); - webEngineView->setProperty("url", QUrl(QStringLiteral("data:text/html,%1").arg(htmlData))); - QTRY_COMPARE_WITH_TIMEOUT(m_view->rootObject()->property("loading"), QVariant(false), 30000); + webEngineView->setUrl(QUrl(QStringLiteral("data:text/html,%1").arg(htmlData))); + QVERIFY(waitForLoadSucceeded(webEngineView)); } static QByteArrayList params; W_QTEST_MAIN(tst_QQuickWebEngineViewGraphics, params) #include "tst_qquickwebengineviewgraphics.moc" +#include "moc_quickutil.cpp" -- cgit v1.2.3