diff options
Diffstat (limited to 'tests/benchmarks/gui/image/qimagereader')
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/CMakeLists.txt | 13 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/tst_bench_qimagereader.cpp (renamed from tests/benchmarks/gui/image/qimagereader/tst_qimagereader.cpp) | 91 |
2 files changed, 46 insertions, 58 deletions
diff --git a/tests/benchmarks/gui/image/qimagereader/CMakeLists.txt b/tests/benchmarks/gui/image/qimagereader/CMakeLists.txt index d0ef0e3984..ba3c2a7ec4 100644 --- a/tests/benchmarks/gui/image/qimagereader/CMakeLists.txt +++ b/tests/benchmarks/gui/image/qimagereader/CMakeLists.txt @@ -1,4 +1,5 @@ -# Generated from qimagereader.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## tst_bench_qimagereader Binary: @@ -6,17 +7,13 @@ qt_internal_add_benchmark(tst_bench_qimagereader SOURCES - tst_qimagereader.cpp - PUBLIC_LIBRARIES + 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 48e838148f..9b23741405 100644 --- a/tests/benchmarks/gui/image/qimagereader/tst_qimagereader.cpp +++ b/tests/benchmarks/gui/image/qimagereader/tst_bench_qimagereader.cpp @@ -1,32 +1,8 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <qtest.h> + #include <QBuffer> #include <QDebug> #include <QFile> @@ -34,6 +10,8 @@ #include <QImageReader> #include <QImageWriter> #include <QPixmap> + +#include <QtCore/private/qfactoryloader_p.h> #include <QSet> #include <QTimer> @@ -42,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(); @@ -71,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")); @@ -100,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"); @@ -131,7 +122,7 @@ void tst_QImageReader::readImage_data() } } -void tst_QImageReader::readImage() +void tst_bench_QImageReader::readImage() { QFETCH(QString, fileName); QFETCH(QByteArray, format); @@ -143,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"); @@ -161,7 +152,7 @@ void tst_QImageReader::setScaledSize_data() } } -void tst_QImageReader::setScaledSize() +void tst_bench_QImageReader::setScaledSize() { QFETCH(QString, fileName); QFETCH(QSize, newSize); @@ -175,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"); @@ -188,7 +179,7 @@ void tst_QImageReader::setClipRect_data() } } -void tst_QImageReader::setClipRect() +void tst_bench_QImageReader::setClipRect() { QFETCH(QString, fileName); QFETCH(QRect, newRect); @@ -202,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); @@ -222,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" |