diff options
author | Jøger Hansegård <joger.hansegard@qt.io> | 2024-01-28 18:21:52 +0100 |
---|---|---|
committer | Jøger Hansegård <joger.hansegard@qt.io> | 2024-01-29 16:26:35 +0100 |
commit | 5070a7343504bbde988a903c2ef0a2d18af4303b (patch) | |
tree | bfa6f6eb7cd34ba5959bc40b4f70e41a7246c21e | |
parent | 2964b974c24b0e85f7923a2ff0b413d6ba80381c (diff) |
Use regular plugin loader also in multimedia unit tests
This patch switches to regular plugin loading also in unit tests by
introducing a 'mock' media plugin. This plugin is a static plugin, and
does not have to be located in the plugin loader's search path.
This allow us to create the mock plugin by setting an environment
variable instead injecting a mock factory into the
qplatformmediaintegration through private APIs.
The purpose of this change is to simplify how we create the multimedia
backend, and later get better control over its lifetime.
Pick-to: 6.7 6.6 6.5
Change-Id: Ie6cc0ebecc21fb4d81e57cc9f257e4fc82f96e6b
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
32 files changed, 125 insertions, 131 deletions
diff --git a/src/multimedia/platform/qplatformmediaintegration.cpp b/src/multimedia/platform/qplatformmediaintegration.cpp index e4258a179..d2ef66b7f 100644 --- a/src/multimedia/platform/qplatformmediaintegration.cpp +++ b/src/multimedia/platform/qplatformmediaintegration.cpp @@ -75,10 +75,24 @@ namespace { struct InstanceHolder { - // TODO: replace the mutex with std::once - QBasicMutex mutex; + InstanceHolder() + { + const auto backends = availableBackends(); + QString backend = QString::fromUtf8(qgetenv("QT_MEDIA_BACKEND")); + if (backend.isEmpty() && !backends.isEmpty()) + backend = defaultBackend(backends); + + qCDebug(qLcMediaPlugin) << "loading backend" << backend; + instance.reset( + qLoadPlugin<QPlatformMediaIntegration, QPlatformMediaPlugin>(loader(), backend)); + + if (!instance) { + qWarning() << "could not load multimedia backend" << backend; + instance = std::make_unique<QDummyIntegration>(); + } + } + std::unique_ptr<QPlatformMediaIntegration> instance; - std::function<std::unique_ptr<QPlatformMediaIntegration>()> factory; }; Q_GLOBAL_STATIC(InstanceHolder, instanceHolder); @@ -89,42 +103,9 @@ QT_BEGIN_NAMESPACE QPlatformMediaIntegration *QPlatformMediaIntegration::instance() { - QMutexLocker locker(&instanceHolder->mutex); - if (instanceHolder->instance) - return instanceHolder->instance.get(); - - if (instanceHolder->factory) { - instanceHolder->instance = instanceHolder->factory(); - return instanceHolder->instance.get(); - } - - const auto backends = availableBackends(); - QString backend = QString::fromUtf8(qgetenv("QT_MEDIA_BACKEND")); - if (backend.isEmpty() && !backends.isEmpty()) - backend = defaultBackend(backends); - - qCDebug(qLcMediaPlugin) << "loading backend" << backend; - instanceHolder->instance.reset( - qLoadPlugin<QPlatformMediaIntegration, QPlatformMediaPlugin>(loader(), backend)); - - if (!instanceHolder->instance) { - qWarning() << "could not load multimedia backend" << backend; - instanceHolder->instance = std::make_unique<QDummyIntegration>(); - } - return instanceHolder->instance.get(); } -/* - This API is there to be able to test with a mock backend. -*/ -void QPlatformMediaIntegration::setPlatformFactory(std::function<std::unique_ptr<QPlatformMediaIntegration>()> factory) -{ - Q_ASSERT((factory == nullptr) ^ (instanceHolder->factory == nullptr)); - instanceHolder->instance.reset(); - instanceHolder->factory = std::move(factory); -} - QList<QCameraDevice> QPlatformMediaIntegration::videoInputs() { auto devices = videoDevices(); diff --git a/src/multimedia/platform/qplatformmediaintegration_p.h b/src/multimedia/platform/qplatformmediaintegration_p.h index 10845326c..3f72c618b 100644 --- a/src/multimedia/platform/qplatformmediaintegration_p.h +++ b/src/multimedia/platform/qplatformmediaintegration_p.h @@ -101,11 +101,6 @@ protected: virtual QPlatformCapturableWindows *createCapturableWindows() { return nullptr; } private: - friend class QMockIntegrationFactory; - // API to be able to test with a mock backend - static void setPlatformFactory(std::function<std::unique_ptr<QPlatformMediaIntegration>()> factory); - -private: std::unique_ptr<QPlatformVideoDevices> m_videoDevices; std::once_flag m_videoDevicesOnceFlag; diff --git a/tests/auto/unit/mockbackend/CMakeLists.txt b/tests/auto/unit/mockbackend/CMakeLists.txt index cc95ed4ea..4a1e346ec 100644 --- a/tests/auto/unit/mockbackend/CMakeLists.txt +++ b/tests/auto/unit/mockbackend/CMakeLists.txt @@ -4,30 +4,29 @@ # Generated from mockbackend.pro. ##################################################################### -## QtMultimediaMockBackend Generic Library: +## MockMultimediaPlugin Generic Library: ##################################################################### -# special case begin -add_library(QtMultimediaMockBackend INTERFACE) -target_include_directories(QtMultimediaMockBackend INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) -target_link_libraries(QtMultimediaMockBackend INTERFACE - Qt::Core - Qt::Gui - Qt::MultimediaPrivate +qt_internal_add_plugin(MockMultimediaPlugin + STATIC + OUTPUT_NAME mockmultimediaplugin + PLUGIN_TYPE multimedia + OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../plugins" + SOURCES + qmockaudiodecoder.cpp qmockaudiodecoder.h + qmockaudiooutput.h + qmockcamera.cpp qmockcamera.h + qmockimagecapture.cpp qmockimagecapture.h + qmockmediaplayer.h + qmockmediaencoder.h + qmockmediacapturesession.h + qmockvideosink.h + qmockmediadevices.cpp qmockmediadevices.h + qmockintegration.cpp qmockintegration.h + LIBRARIES + Qt::MultimediaPrivate + Qt::CorePrivate ) -target_sources(QtMultimediaMockBackend INTERFACE - qmockaudiodecoder.cpp qmockaudiodecoder.h - qmockaudiooutput.h - qmockcamera.cpp qmockcamera.h - qmockimagecapture.cpp qmockimagecapture.h - qmockmediaplayer.h - qmockmediaencoder.h - qmockmediacapturesession.h - qmockvideosink.h - qmockmediadevices.cpp qmockmediadevices.h - qmockintegration.cpp qmockintegration.h -) -# special case end #### Keys ignored in scope 1:.:.:mockbackend.pro:<TRUE>: # TEMPLATE = "lib" diff --git a/tests/auto/unit/mockbackend/mock.json b/tests/auto/unit/mockbackend/mock.json new file mode 100644 index 000000000..499a3de8c --- /dev/null +++ b/tests/auto/unit/mockbackend/mock.json @@ -0,0 +1,3 @@ +{ + "Keys": [ "mock" ] +} diff --git a/tests/auto/unit/mockbackend/qmockintegration.cpp b/tests/auto/unit/mockbackend/qmockintegration.cpp index 8330fcd7f..3218d46b3 100644 --- a/tests/auto/unit/mockbackend/qmockintegration.cpp +++ b/tests/auto/unit/mockbackend/qmockintegration.cpp @@ -1,6 +1,7 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +#include <QtMultimedia/private/qplatformmediaplugin_p.h> #include "qmockintegration.h" #include "qmockmediaplayer.h" #include "qmockaudiodecoder.h" @@ -15,6 +16,22 @@ QT_BEGIN_NAMESPACE +class MockMultimediaPlugin : public QPlatformMediaPlugin +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID QPlatformMediaPlugin_iid FILE "mock.json") + +public: + MockMultimediaPlugin() : QPlatformMediaPlugin() { } + + QPlatformMediaIntegration *create(const QString &name) override + { + if (name == QLatin1String("mock")) + return new QMockIntegration; + return nullptr; + } +}; + class QMockVideoDevices : public QPlatformVideoDevices { public: @@ -77,7 +94,12 @@ private: QList<QCameraDevice> m_cameraDevices; }; -QMockIntegration::QMockIntegration() = default; +bool QMockIntegration::s_created = false; + +QMockIntegration::QMockIntegration() +{ + s_created = true; +} QMockIntegration::~QMockIntegration() = default; @@ -171,3 +193,5 @@ void QMockIntegration::addNewCamera() bool QMockCamera::simpleCamera = false; QT_END_NAMESPACE + +#include "qmockintegration.moc" diff --git a/tests/auto/unit/mockbackend/qmockintegration.h b/tests/auto/unit/mockbackend/qmockintegration.h index 8ff275bb7..f62fed236 100644 --- a/tests/auto/unit/mockbackend/qmockintegration.h +++ b/tests/auto/unit/mockbackend/qmockintegration.h @@ -29,6 +29,7 @@ class QMockSurfaceCapture; class QMockIntegration : public QPlatformMediaIntegration { public: + QMockIntegration(); ~QMockIntegration(); static QMockIntegration *instance() @@ -66,13 +67,14 @@ public: QMockSurfaceCapture *lastScreenCapture() { return m_lastScreenCapture; } QMockSurfaceCapture *lastWindowCapture() { return m_lastWindowCapture; } + static bool created() { return s_created; } + protected: QPlatformVideoDevices *createVideoDevices() override; private: - friend class QMockIntegrationFactory; - QMockIntegration(); + static bool s_created; Flags m_flags = {}; QMockMediaPlayer *m_lastPlayer = nullptr; QMockAudioDecoder *m_lastAudioDecoderControl = nullptr; @@ -86,27 +88,17 @@ private: Q_DECLARE_OPERATORS_FOR_FLAGS(QMockIntegration::Flags); -class QMockIntegrationFactory -{ -public: - QMockIntegrationFactory() { QMockIntegration::setPlatformFactory(std::ref(*this)); } - - ~QMockIntegrationFactory() { QMockIntegration::setPlatformFactory(nullptr); } +#define Q_ENABLE_MOCK_MULTIMEDIA_PLUGIN \ + Q_IMPORT_PLUGIN(MockMultimediaPlugin) \ + struct EnableMockPlugin \ + { \ + EnableMockPlugin() \ + { \ + qputenv("QT_MEDIA_BACKEND", "mock"); \ + } \ + }; \ + static EnableMockPlugin s_mockMultimediaPluginEnabler; - std::unique_ptr<QPlatformMediaIntegration> operator()() - { - Q_ASSERT(!m_wasRun); - m_wasRun = true; - return std::unique_ptr<QPlatformMediaIntegration>(new QMockIntegration); - } - - bool wasRun() const { return m_wasRun; } - - Q_DISABLE_COPY(QMockIntegrationFactory); - -private: - bool m_wasRun = false; -}; QT_END_NAMESPACE diff --git a/tests/auto/unit/multimedia/qaudiodecoder/CMakeLists.txt b/tests/auto/unit/multimedia/qaudiodecoder/CMakeLists.txt index b2f76525e..cced66bda 100644 --- a/tests/auto/unit/multimedia/qaudiodecoder/CMakeLists.txt +++ b/tests/auto/unit/multimedia/qaudiodecoder/CMakeLists.txt @@ -17,5 +17,5 @@ qt_internal_add_test(tst_qaudiodecoder Qt::Gui Qt::Multimedia Qt::MultimediaPrivate - QtMultimediaMockBackend + MockMultimediaPlugin ) diff --git a/tests/auto/unit/multimedia/qaudiodecoder/tst_qaudiodecoder.cpp b/tests/auto/unit/multimedia/qaudiodecoder/tst_qaudiodecoder.cpp index b8aac4c0f..4460da52e 100644 --- a/tests/auto/unit/multimedia/qaudiodecoder/tst_qaudiodecoder.cpp +++ b/tests/auto/unit/multimedia/qaudiodecoder/tst_qaudiodecoder.cpp @@ -9,11 +9,16 @@ #include "qmockaudiodecoder.h" #include "qmockintegration.h" +QT_USE_NAMESPACE + +Q_ENABLE_MOCK_MULTIMEDIA_PLUGIN + class tst_QAudioDecoder : public QObject { Q_OBJECT public: + tst_QAudioDecoder(); private Q_SLOTS: @@ -24,9 +29,6 @@ private Q_SLOTS: void source(); void readAll(); void nullControl(); - -private: - QMockIntegrationFactory mockIntegrationFactory; }; tst_QAudioDecoder::tst_QAudioDecoder() diff --git a/tests/auto/unit/multimedia/qaudiorecorder/CMakeLists.txt b/tests/auto/unit/multimedia/qaudiorecorder/CMakeLists.txt index 8b4379d50..b2dc16b69 100644 --- a/tests/auto/unit/multimedia/qaudiorecorder/CMakeLists.txt +++ b/tests/auto/unit/multimedia/qaudiorecorder/CMakeLists.txt @@ -16,5 +16,5 @@ qt_internal_add_test(tst_qaudiorecorder # Remove: L${CMAKE_CURRENT_SOURCE_DIR} Qt::Gui Qt::MultimediaPrivate - QtMultimediaMockBackend + MockMultimediaPlugin ) diff --git a/tests/auto/unit/multimedia/qaudiorecorder/tst_qaudiorecorder.cpp b/tests/auto/unit/multimedia/qaudiorecorder/tst_qaudiorecorder.cpp index d7c815016..a65718b1c 100644 --- a/tests/auto/unit/multimedia/qaudiorecorder/tst_qaudiorecorder.cpp +++ b/tests/auto/unit/multimedia/qaudiorecorder/tst_qaudiorecorder.cpp @@ -19,6 +19,8 @@ QT_USE_NAMESPACE +Q_ENABLE_MOCK_MULTIMEDIA_PLUGIN + class tst_QAudioRecorder: public QObject { Q_OBJECT @@ -34,7 +36,6 @@ private slots: private: QMediaRecorder *encoder = nullptr; - QMockIntegrationFactory mockIntegrationFactory; }; void tst_QAudioRecorder::init() diff --git a/tests/auto/unit/multimedia/qcamera/CMakeLists.txt b/tests/auto/unit/multimedia/qcamera/CMakeLists.txt index 7a8dc5ea6..484793923 100644 --- a/tests/auto/unit/multimedia/qcamera/CMakeLists.txt +++ b/tests/auto/unit/multimedia/qcamera/CMakeLists.txt @@ -16,5 +16,5 @@ qt_internal_add_test(tst_multimedia_qcamera # Remove: L${CMAKE_CURRENT_SOURCE_DIR} Qt::Gui Qt::MultimediaPrivate - QtMultimediaMockBackend + MockMultimediaPlugin ) diff --git a/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp b/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp index a98c18425..13bfbb303 100644 --- a/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp +++ b/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp @@ -22,6 +22,7 @@ QT_USE_NAMESPACE +Q_ENABLE_MOCK_MULTIMEDIA_PLUGIN class tst_QCamera: public QObject { @@ -72,9 +73,6 @@ private slots: void testSignalIsoSensitivityChanged(); void testSignalShutterSpeedChanged(); void testSignalFlashReady(); - -private: - QMockIntegrationFactory mockIntegrationFactory; }; void tst_QCamera::initTestCase() diff --git a/tests/auto/unit/multimedia/qcameradevice/CMakeLists.txt b/tests/auto/unit/multimedia/qcameradevice/CMakeLists.txt index 8d06d3ef1..4d9977e8e 100644 --- a/tests/auto/unit/multimedia/qcameradevice/CMakeLists.txt +++ b/tests/auto/unit/multimedia/qcameradevice/CMakeLists.txt @@ -16,5 +16,5 @@ qt_internal_add_test(tst_qcameradevice # Remove: L${CMAKE_CURRENT_SOURCE_DIR} Qt::Gui Qt::MultimediaPrivate - QtMultimediaMockBackend + MockMultimediaPlugin ) diff --git a/tests/auto/unit/multimedia/qcameradevice/tst_qcameradevice.cpp b/tests/auto/unit/multimedia/qcameradevice/tst_qcameradevice.cpp index 29c617f12..afb6f68e1 100644 --- a/tests/auto/unit/multimedia/qcameradevice/tst_qcameradevice.cpp +++ b/tests/auto/unit/multimedia/qcameradevice/tst_qcameradevice.cpp @@ -13,6 +13,8 @@ QT_USE_NAMESPACE +Q_ENABLE_MOCK_MULTIMEDIA_PLUGIN + class tst_QCameraDevice: public QObject { Q_OBJECT @@ -27,9 +29,6 @@ private slots: void defaultCamera(); void availableCameras(); void equality_operators(); - -private: - QMockIntegrationFactory mockIntegrationFactory; }; void tst_QCameraDevice::initTestCase() diff --git a/tests/auto/unit/multimedia/qimagecapture/CMakeLists.txt b/tests/auto/unit/multimedia/qimagecapture/CMakeLists.txt index a3a99a432..908154cf9 100644 --- a/tests/auto/unit/multimedia/qimagecapture/CMakeLists.txt +++ b/tests/auto/unit/multimedia/qimagecapture/CMakeLists.txt @@ -16,5 +16,5 @@ qt_internal_add_test(tst_qimagecapture # Remove: L${CMAKE_CURRENT_SOURCE_DIR} Qt::Gui Qt::MultimediaPrivate - QtMultimediaMockBackend + MockMultimediaPlugin ) diff --git a/tests/auto/unit/multimedia/qimagecapture/tst_qimagecapture.cpp b/tests/auto/unit/multimedia/qimagecapture/tst_qimagecapture.cpp index 8e665e4be..bb2b14f20 100644 --- a/tests/auto/unit/multimedia/qimagecapture/tst_qimagecapture.cpp +++ b/tests/auto/unit/multimedia/qimagecapture/tst_qimagecapture.cpp @@ -15,6 +15,8 @@ QT_USE_NAMESPACE +Q_ENABLE_MOCK_MULTIMEDIA_PLUGIN + class tst_QImageCapture: public QObject { Q_OBJECT @@ -38,9 +40,6 @@ private slots: void imageExposed(); void imageSaved(); void readyForCaptureChanged(); - -private: - QMockIntegrationFactory mockIntegrationFactory; }; void tst_QImageCapture::initTestCase() { } diff --git a/tests/auto/unit/multimedia/qmediadevices/CMakeLists.txt b/tests/auto/unit/multimedia/qmediadevices/CMakeLists.txt index 87cda2540..e8360f8b5 100644 --- a/tests/auto/unit/multimedia/qmediadevices/CMakeLists.txt +++ b/tests/auto/unit/multimedia/qmediadevices/CMakeLists.txt @@ -9,5 +9,5 @@ qt_internal_add_test(tst_qmediadevices LIBRARIES Qt::Gui Qt::MultimediaPrivate - QtMultimediaMockBackend + MockMultimediaPlugin ) diff --git a/tests/auto/unit/multimedia/qmediadevices/tst_qmediadevices.cpp b/tests/auto/unit/multimedia/qmediadevices/tst_qmediadevices.cpp index 64ddd6587..b17d714d5 100644 --- a/tests/auto/unit/multimedia/qmediadevices/tst_qmediadevices.cpp +++ b/tests/auto/unit/multimedia/qmediadevices/tst_qmediadevices.cpp @@ -11,6 +11,8 @@ QT_USE_NAMESPACE +Q_ENABLE_MOCK_MULTIMEDIA_PLUGIN + class tst_QMediaDevices : public QObject { Q_OBJECT @@ -23,7 +25,6 @@ private slots: void onlyVideoInputsChangedEmitted_when2MediaDevicesCreated_andCamerasChanged(); private: - QMockIntegrationFactory mockIntegrationFactory; QMockMediaDevices devices; }; @@ -32,15 +33,14 @@ void tst_QMediaDevices::initTestCase() { } void tst_QMediaDevices::videoInputsChangedEmitted_whenCamerasChanged() { QMediaDevices mediaDevices; - QSignalSpy videoInputsSpy(&mediaDevices, &QMediaDevices::videoInputsChanged); - QVERIFY(!mockIntegrationFactory.wasRun()); - QTRY_VERIFY(mockIntegrationFactory.wasRun()); + QVERIFY(QTest::qWaitFor([] { return QMockIntegration::created(); })); + QCOMPARE(videoInputsSpy.size(), 0); QMockIntegration::instance()->addNewCamera(); - QCOMPARE(videoInputsSpy.size(), 1); + QTRY_COMPARE(videoInputsSpy.size(), 1); QMockIntegration::instance()->addNewCamera(); QCOMPARE(videoInputsSpy.size(), 2); @@ -56,7 +56,7 @@ void tst_QMediaDevices::onlyVideoInputsChangedEmitted_when2MediaDevicesCreated_a QSignalSpy audioInputsSpy(&mediaDevicesA, &QMediaDevices::audioInputsChanged); QSignalSpy audioOutputsSpy(&mediaDevicesA, &QMediaDevices::audioOutputsChanged); - QTRY_VERIFY(mockIntegrationFactory.wasRun()); + QVERIFY(QTest::qWaitFor([] { return QMockIntegration::created(); })); // process events to wait for the queued video connection establishing QTest::qWait(0); diff --git a/tests/auto/unit/multimedia/qmediaplayer/CMakeLists.txt b/tests/auto/unit/multimedia/qmediaplayer/CMakeLists.txt index 8ffc0f5ab..4d3f2f865 100644 --- a/tests/auto/unit/multimedia/qmediaplayer/CMakeLists.txt +++ b/tests/auto/unit/multimedia/qmediaplayer/CMakeLists.txt @@ -17,7 +17,7 @@ qt_internal_add_test(tst_qmediaplayer Qt::Gui Qt::MultimediaPrivate Qt::Network - QtMultimediaMockBackend + MockMultimediaPlugin ) # Resources: diff --git a/tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp b/tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp index 8e8289e73..17a4ee2d0 100644 --- a/tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp +++ b/tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp @@ -21,6 +21,8 @@ QT_USE_NAMESPACE +Q_ENABLE_MOCK_MULTIMEDIA_PLUGIN + class AutoConnection { public: @@ -98,7 +100,6 @@ private slots: private: void setupCommonTestData(); - QMockIntegrationFactory mockIntegrationFactory; QMockMediaPlayer *mockPlayer; QAudioOutput *audioOutput = nullptr; QMediaPlayer *player; diff --git a/tests/auto/unit/multimedia/qmediarecorder/CMakeLists.txt b/tests/auto/unit/multimedia/qmediarecorder/CMakeLists.txt index 746c309f1..83e40012a 100644 --- a/tests/auto/unit/multimedia/qmediarecorder/CMakeLists.txt +++ b/tests/auto/unit/multimedia/qmediarecorder/CMakeLists.txt @@ -16,5 +16,5 @@ qt_internal_add_test(tst_qmediarecorder # Remove: L${CMAKE_CURRENT_SOURCE_DIR} Qt::Gui Qt::MultimediaPrivate - QtMultimediaMockBackend + MockMultimediaPlugin ) diff --git a/tests/auto/unit/multimedia/qmediarecorder/tst_qmediarecorder.cpp b/tests/auto/unit/multimedia/qmediarecorder/tst_qmediarecorder.cpp index 8b6d7422f..fe81ec3d1 100644 --- a/tests/auto/unit/multimedia/qmediarecorder/tst_qmediarecorder.cpp +++ b/tests/auto/unit/multimedia/qmediarecorder/tst_qmediarecorder.cpp @@ -21,6 +21,8 @@ QT_USE_NAMESPACE +Q_ENABLE_MOCK_MULTIMEDIA_PLUGIN + class tst_QMediaRecorder : public QObject { Q_OBJECT @@ -52,7 +54,6 @@ private slots: void testApplicationInative(); private: - QMockIntegrationFactory mockIntegrationFactory; QMediaCaptureSession *captureSession; QCamera *object = nullptr; QMockMediaCaptureSession *service = nullptr; diff --git a/tests/auto/unit/multimedia/qscreencapture/CMakeLists.txt b/tests/auto/unit/multimedia/qscreencapture/CMakeLists.txt index c70799b64..f5b152034 100644 --- a/tests/auto/unit/multimedia/qscreencapture/CMakeLists.txt +++ b/tests/auto/unit/multimedia/qscreencapture/CMakeLists.txt @@ -14,5 +14,5 @@ qt_internal_add_test(tst_qscreencapture # Remove: L${CMAKE_CURRENT_SOURCE_DIR} Qt::Gui Qt::MultimediaPrivate - QtMultimediaMockBackend + MockMultimediaPlugin ) diff --git a/tests/auto/unit/multimedia/qscreencapture/tst_qscreencapture.cpp b/tests/auto/unit/multimedia/qscreencapture/tst_qscreencapture.cpp index 22c05ce8c..a95e16c78 100644 --- a/tests/auto/unit/multimedia/qscreencapture/tst_qscreencapture.cpp +++ b/tests/auto/unit/multimedia/qscreencapture/tst_qscreencapture.cpp @@ -13,6 +13,8 @@ QT_USE_NAMESPACE +Q_ENABLE_MOCK_MULTIMEDIA_PLUGIN + class tst_QScreenCapture : public QObject { Q_OBJECT @@ -38,8 +40,6 @@ public slots: private slots: void destructionOfActiveCapture(); -private: - QMockIntegrationFactory mockIntegrationFactory; }; void tst_QScreenCapture::initTestCase() { } diff --git a/tests/auto/unit/multimediawidgets/qcamerawidgets/CMakeLists.txt b/tests/auto/unit/multimediawidgets/qcamerawidgets/CMakeLists.txt index 2e40cd52b..486f34690 100644 --- a/tests/auto/unit/multimediawidgets/qcamerawidgets/CMakeLists.txt +++ b/tests/auto/unit/multimediawidgets/qcamerawidgets/CMakeLists.txt @@ -18,5 +18,5 @@ qt_internal_add_test(tst_qcamerawidgets Qt::MultimediaPrivate Qt::MultimediaWidgetsPrivate Qt::Widgets - QtMultimediaMockBackend + MockMultimediaPlugin ) diff --git a/tests/auto/unit/multimediawidgets/qcamerawidgets/tst_qcamerawidgets.cpp b/tests/auto/unit/multimediawidgets/qcamerawidgets/tst_qcamerawidgets.cpp index 0bec8c209..60517bbe6 100644 --- a/tests/auto/unit/multimediawidgets/qcamerawidgets/tst_qcamerawidgets.cpp +++ b/tests/auto/unit/multimediawidgets/qcamerawidgets/tst_qcamerawidgets.cpp @@ -21,6 +21,7 @@ QT_USE_NAMESPACE +Q_ENABLE_MOCK_MULTIMEDIA_PLUGIN class tst_QCameraWidgets: public QObject { @@ -33,9 +34,6 @@ public slots: private slots: void testCameraEncodingProperyChange(); void testSetVideoOutput(); - -private: - QMockIntegrationFactory mockIntegrationFactory; }; void tst_QCameraWidgets::initTestCase() diff --git a/tests/auto/unit/multimediawidgets/qgraphicsvideoitem/CMakeLists.txt b/tests/auto/unit/multimediawidgets/qgraphicsvideoitem/CMakeLists.txt index 8cc5e528f..599042725 100644 --- a/tests/auto/unit/multimediawidgets/qgraphicsvideoitem/CMakeLists.txt +++ b/tests/auto/unit/multimediawidgets/qgraphicsvideoitem/CMakeLists.txt @@ -17,5 +17,5 @@ qt_internal_add_test(tst_qgraphicsvideoitem Qt::MultimediaPrivate Qt::MultimediaWidgetsPrivate Qt::Widgets - QtMultimediaMockBackend + MockMultimediaPlugin ) diff --git a/tests/auto/unit/multimediawidgets/qgraphicsvideoitem/tst_qgraphicsvideoitem.cpp b/tests/auto/unit/multimediawidgets/qgraphicsvideoitem/tst_qgraphicsvideoitem.cpp index b9e702285..743d8385d 100644 --- a/tests/auto/unit/multimediawidgets/qgraphicsvideoitem/tst_qgraphicsvideoitem.cpp +++ b/tests/auto/unit/multimediawidgets/qgraphicsvideoitem/tst_qgraphicsvideoitem.cpp @@ -19,6 +19,9 @@ #include <qmockintegration.h> QT_USE_NAMESPACE + +Q_ENABLE_MOCK_MULTIMEDIA_PLUGIN + class tst_QGraphicsVideoItem : public QObject { Q_OBJECT @@ -41,9 +44,6 @@ private slots: void boundingRect(); void paint(); - -public: - QMockIntegrationFactory mockIntegrationFactory; }; class QtTestGraphicsVideoItem : public QGraphicsVideoItem diff --git a/tests/auto/unit/multimediawidgets/qmediaplayerwidgets/CMakeLists.txt b/tests/auto/unit/multimediawidgets/qmediaplayerwidgets/CMakeLists.txt index 412167bc6..7c54e67b9 100644 --- a/tests/auto/unit/multimediawidgets/qmediaplayerwidgets/CMakeLists.txt +++ b/tests/auto/unit/multimediawidgets/qmediaplayerwidgets/CMakeLists.txt @@ -19,5 +19,5 @@ qt_internal_add_test(tst_qmediaplayerwidgets Qt::MultimediaWidgetsPrivate Qt::Network Qt::Widgets - QtMultimediaMockBackend + MockMultimediaPlugin ) diff --git a/tests/auto/unit/multimediawidgets/qmediaplayerwidgets/tst_qmediaplayerwidgets.cpp b/tests/auto/unit/multimediawidgets/qmediaplayerwidgets/tst_qmediaplayerwidgets.cpp index 5846054d3..7fb9791c5 100644 --- a/tests/auto/unit/multimediawidgets/qmediaplayerwidgets/tst_qmediaplayerwidgets.cpp +++ b/tests/auto/unit/multimediawidgets/qmediaplayerwidgets/tst_qmediaplayerwidgets.cpp @@ -17,6 +17,8 @@ QT_USE_NAMESPACE +Q_ENABLE_MOCK_MULTIMEDIA_PLUGIN + class tst_QMediaPlayerWidgets: public QObject { Q_OBJECT @@ -31,9 +33,6 @@ private slots: void testSetVideoOutput(); void testSetVideoOutputNoService(); void testSetVideoOutputNoControl(); - -private: - QMockIntegrationFactory mockIntegrationFactory; }; void tst_QMediaPlayerWidgets::initTestCase() { } diff --git a/tests/auto/unit/multimediawidgets/qvideowidget/CMakeLists.txt b/tests/auto/unit/multimediawidgets/qvideowidget/CMakeLists.txt index d43bf18de..b179b0b3b 100644 --- a/tests/auto/unit/multimediawidgets/qvideowidget/CMakeLists.txt +++ b/tests/auto/unit/multimediawidgets/qvideowidget/CMakeLists.txt @@ -17,5 +17,5 @@ qt_internal_add_test(tst_qvideowidget Qt::MultimediaPrivate Qt::MultimediaWidgetsPrivate Qt::Widgets - QtMultimediaMockBackend + MockMultimediaPlugin ) diff --git a/tests/auto/unit/multimediawidgets/qvideowidget/tst_qvideowidget.cpp b/tests/auto/unit/multimediawidgets/qvideowidget/tst_qvideowidget.cpp index a760f4adc..0a093c5cd 100644 --- a/tests/auto/unit/multimediawidgets/qvideowidget/tst_qvideowidget.cpp +++ b/tests/auto/unit/multimediawidgets/qvideowidget/tst_qvideowidget.cpp @@ -19,6 +19,9 @@ #include <qmockvideosink.h> QT_USE_NAMESPACE + +Q_ENABLE_MOCK_MULTIMEDIA_PLUGIN + class tst_QVideoWidget : public QObject { Q_OBJECT @@ -159,7 +162,6 @@ void tst_QVideoWidget::sizeHint() // QFETCH(QRect, viewport); QFETCH(QSize, expectedSize); - QMockIntegrationFactory mockCreator; QtTestVideoWidget widget; QMediaPlayer player; |