on xenial help sign in
make the test find the relevant QML plugin
c86000aLukáš Tinkl
tests/plugins/ScreenGrabber/CMakeLists.txt+3−2
@@ -6,8 +6,9 @@ include_directories(
6add_definitions(
6add_definitions(
7 -DCURRENT_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}"
7 -DCURRENT_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}"
8 )
8 )
9+add_definitions(-DBUILT_PLUGINS_DIR="${CMAKE_BINARY_DIR}/plugins")
9
10
10add_executable(ScreenGrabberTestExec ScreenGrabberTest.cpp ${CMAKE_SOURCE_DIR}/plugins/ScreenGrabber/screengrabber.cpp)
11add_executable(ScreenGrabberTestExec ScreenGrabberTest.cpp ${CMAKE_SOURCE_DIR}/plugins/ScreenGrabber/screengrabber.cpp)
11qt5_use_modules(ScreenGrabberTestExec Test Quick)
12qt5_use_modules(ScreenGrabberTestExec Test Quick)
12−target_link_libraries(ScreenGrabberTestExec ScreenGrabber-qml)
13+target_link_libraries(ScreenGrabberTestExec ${Qt5Quick_LIBRARIES} ScreenGrabber-qml)
13−add_unity8_uitest(ScreenGrabber ScreenGrabberTestExec ADD_TEST)
14+add_unity8_uitest(ScreenGrabber ScreenGrabberTestExec DEPENDS ScreenGrabber-qml)
tests/plugins/ScreenGrabber/ScreenGrabberTest.cpp+2
@@ -19,6 +19,7 @@
19#include <QtTest>
19#include <QtTest>
20#include <QtQuick/QQuickView>
20#include <QtQuick/QQuickView>
21#include <QtQuick/QQuickItem>
21#include <QtQuick/QQuickItem>
22+#include <QQmlEngine>
22
23
23class ScreenGrabberTest: public QObject
24class ScreenGrabberTest: public QObject
24{
25{
@@ -29,6 +30,7 @@ private Q_SLOTS:
29 void initTestCase()
30 void initTestCase()
30 {
31 {
31 m_view = new QQuickView();
32 m_view = new QQuickView();
33+ m_view->engine()->addImportPath(BUILT_PLUGINS_DIR);
32 m_view->setSource(QUrl::fromLocalFile(CURRENT_SOURCE_DIR "/grabber.qml"));
34 m_view->setSource(QUrl::fromLocalFile(CURRENT_SOURCE_DIR "/grabber.qml"));
33 m_grabber = dynamic_cast<ScreenGrabber*>(m_view->rootObject()->property("grabber").value<QObject*>());
35 m_grabber = dynamic_cast<ScreenGrabber*>(m_view->rootObject()->property("grabber").value<QObject*>());
34 QVERIFY(m_grabber);
36 QVERIFY(m_grabber);