diff options
Diffstat (limited to 'tests/benchmarks/gui/image/qimagereader')
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/CMakeLists.txt | 12 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/tst_bench_qimagereader.cpp (renamed from tests/benchmarks/gui/image/qimagereader/tst_qimagereader.cpp) | 64 |
2 files changed, 43 insertions, 33 deletions
diff --git a/tests/benchmarks/gui/image/qimagereader/CMakeLists.txt b/tests/benchmarks/gui/image/qimagereader/CMakeLists.txt index 7413cc72fb..ba3c2a7ec4 100644 --- a/tests/benchmarks/gui/image/qimagereader/CMakeLists.txt +++ b/tests/benchmarks/gui/image/qimagereader/CMakeLists.txt @@ -1,7 +1,5 @@ # Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -# Generated from qimagereader.pro. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## tst_bench_qimagereader Binary: @@ -9,17 +7,13 @@ qt_internal_add_benchmark(tst_bench_qimagereader SOURCES - tst_qimagereader.cpp + tst_bench_qimagereader.cpp LIBRARIES + Qt::CorePrivate Qt::Gui Qt::Test ) -#### Keys ignored in scope 1:.:.:qimagereader.pro:<TRUE>: -# QT_FOR_CONFIG = "gui-private" -# TEMPLATE = "app" -# TESTDATA = "images/*" - ## Scopes: ##################################################################### diff --git a/tests/benchmarks/gui/image/qimagereader/tst_qimagereader.cpp b/tests/benchmarks/gui/image/qimagereader/tst_bench_qimagereader.cpp index 76e3e919f3..9b23741405 100644 --- a/tests/benchmarks/gui/image/qimagereader/tst_qimagereader.cpp +++ b/tests/benchmarks/gui/image/qimagereader/tst_bench_qimagereader.cpp @@ -1,7 +1,8 @@ // Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <qtest.h> + #include <QBuffer> #include <QDebug> #include <QFile> @@ -9,6 +10,8 @@ #include <QImageReader> #include <QImageWriter> #include <QPixmap> + +#include <QtCore/private/qfactoryloader_p.h> #include <QSet> #include <QTimer> @@ -17,20 +20,20 @@ typedef QList<int> QIntList; Q_DECLARE_METATYPE(QStringMap) Q_DECLARE_METATYPE(QIntList) -class tst_QImageReader : public QObject +class tst_bench_QImageReader : public QObject { Q_OBJECT public: - tst_QImageReader(); - virtual ~tst_QImageReader(); + tst_bench_QImageReader(); public slots: void initTestCase(); - void init(); - void cleanup(); private slots: + void rawFactoryLoader_keyMap(); + void rawFactoryLoader_instance(); + void readImage_data(); void readImage(); @@ -46,9 +49,10 @@ private slots: private: QList< QPair<QString, QByteArray> > images; // filename, format QString prefix; + QFactoryLoader m_loader{QImageIOHandlerFactoryInterface_iid, "/imageformats"}; }; -tst_QImageReader::tst_QImageReader() +tst_bench_QImageReader::tst_bench_QImageReader() { images << QPair<QString, QByteArray>(QLatin1String("colorful.bmp"), QByteArray("bmp")); images << QPair<QString, QByteArray>(QLatin1String("font.bmp"), QByteArray("bmp")); @@ -75,26 +79,38 @@ tst_QImageReader::tst_QImageReader() #endif } -tst_QImageReader::~tst_QImageReader() -{ -} - -void tst_QImageReader::initTestCase() +void tst_bench_QImageReader::initTestCase() { prefix = QFINDTESTDATA("images/"); if (prefix.isEmpty()) QFAIL("Can't find images directory!"); } -void tst_QImageReader::init() +void tst_bench_QImageReader::rawFactoryLoader_keyMap() { + if (m_loader.keyMap().isEmpty()) + QSKIP("No image plugins found."); + + QBENCHMARK { + [[maybe_unused]] auto r = m_loader.keyMap(); + } } -void tst_QImageReader::cleanup() +void tst_bench_QImageReader::rawFactoryLoader_instance() { + if (m_loader.keyMap().isEmpty()) + QSKIP("No image plugins found."); + + const auto numInstances = m_loader.keyMap().uniqueKeys().size(); + + QBENCHMARK { + for (int i = 0; i < numInstances; ++i) + delete m_loader.instance(i); + } } -void tst_QImageReader::readImage_data() + +void tst_bench_QImageReader::readImage_data() { QTest::addColumn<QString>("fileName"); QTest::addColumn<QByteArray>("format"); @@ -106,7 +122,7 @@ void tst_QImageReader::readImage_data() } } -void tst_QImageReader::readImage() +void tst_bench_QImageReader::readImage() { QFETCH(QString, fileName); QFETCH(QByteArray, format); @@ -118,7 +134,7 @@ void tst_QImageReader::readImage() } } -void tst_QImageReader::setScaledSize_data() +void tst_bench_QImageReader::setScaledSize_data() { QTest::addColumn<QString>("fileName"); QTest::addColumn<QByteArray>("format"); @@ -136,7 +152,7 @@ void tst_QImageReader::setScaledSize_data() } } -void tst_QImageReader::setScaledSize() +void tst_bench_QImageReader::setScaledSize() { QFETCH(QString, fileName); QFETCH(QSize, newSize); @@ -150,7 +166,7 @@ void tst_QImageReader::setScaledSize() } } -void tst_QImageReader::setClipRect_data() +void tst_bench_QImageReader::setClipRect_data() { QTest::addColumn<QString>("fileName"); QTest::addColumn<QByteArray>("format"); @@ -163,7 +179,7 @@ void tst_QImageReader::setClipRect_data() } } -void tst_QImageReader::setClipRect() +void tst_bench_QImageReader::setClipRect() { QFETCH(QString, fileName); QFETCH(QRect, newRect); @@ -177,12 +193,12 @@ void tst_QImageReader::setClipRect() } } -void tst_QImageReader::setScaledClipRect_data() +void tst_bench_QImageReader::setScaledClipRect_data() { setClipRect_data(); } -void tst_QImageReader::setScaledClipRect() +void tst_bench_QImageReader::setScaledClipRect() { QFETCH(QString, fileName); QFETCH(QRect, newRect); @@ -197,5 +213,5 @@ void tst_QImageReader::setScaledClipRect() } } -QTEST_MAIN(tst_QImageReader) -#include "tst_qimagereader.moc" +QTEST_MAIN(tst_bench_QImageReader) +#include "tst_bench_qimagereader.moc" |