diff options
Diffstat (limited to 'tests/benchmarks/corelib/io/qdir/tree')
-rw-r--r-- | tests/benchmarks/corelib/io/qdir/tree/4.6.0-list.txt | 2 | ||||
-rw-r--r-- | tests/benchmarks/corelib/io/qdir/tree/CMakeLists.txt | 21 | ||||
-rw-r--r-- | tests/benchmarks/corelib/io/qdir/tree/tst_bench_qdir_tree.cpp (renamed from tests/benchmarks/corelib/io/qdir/tree/bench_qdir_tree.cpp) | 78 | ||||
-rw-r--r-- | tests/benchmarks/corelib/io/qdir/tree/tst_bench_qdir_tree.qrc (renamed from tests/benchmarks/corelib/io/qdir/tree/bench_qdir_tree.qrc) | 0 |
4 files changed, 35 insertions, 66 deletions
diff --git a/tests/benchmarks/corelib/io/qdir/tree/4.6.0-list.txt b/tests/benchmarks/corelib/io/qdir/tree/4.6.0-list.txt index ee5f7eabc1..6f1a208fe0 100644 --- a/tests/benchmarks/corelib/io/qdir/tree/4.6.0-list.txt +++ b/tests/benchmarks/corelib/io/qdir/tree/4.6.0-list.txt @@ -7983,8 +7983,6 @@ qeventloop.cpp qeventloop.h qfunctions_p.h - qfunctions_vxworks.cpp - qfunctions_vxworks.h qfunctions_wince.cpp qfunctions_wince.h qguard_p.h diff --git a/tests/benchmarks/corelib/io/qdir/tree/CMakeLists.txt b/tests/benchmarks/corelib/io/qdir/tree/CMakeLists.txt index c60bfcfdc3..f60c108480 100644 --- a/tests/benchmarks/corelib/io/qdir/tree/CMakeLists.txt +++ b/tests/benchmarks/corelib/io/qdir/tree/CMakeLists.txt @@ -1,28 +1,25 @@ -# Generated from tree.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### -## bench_qdir_tree Binary: +## tst_bench_qdir_tree Binary: ##################################################################### -qt_internal_add_benchmark(bench_qdir_tree +qt_internal_add_benchmark(tst_bench_qdir_tree SOURCES - bench_qdir_tree.cpp - PUBLIC_LIBRARIES + tst_bench_qdir_tree.cpp + LIBRARIES Qt::Test ) # Resources: -set(bench_qdir_tree_resource_files +set(qdir_tree_resource_files "4.6.0-list.txt" ) -qt_internal_add_resource(bench_qdir_tree "bench_qdir_tree" +qt_internal_add_resource(tst_bench_qdir_tree "tst_bench_qdir_tree" PREFIX "/" FILES - ${bench_qdir_tree_resource_files} + ${qdir_tree_resource_files} ) - - -#### Keys ignored in scope 1:.:.:tree.pro:<TRUE>: -# TEMPLATE = "app" diff --git a/tests/benchmarks/corelib/io/qdir/tree/bench_qdir_tree.cpp b/tests/benchmarks/corelib/io/qdir/tree/tst_bench_qdir_tree.cpp index 0abf8769a6..4f122c876c 100644 --- a/tests/benchmarks/corelib/io/qdir/tree/bench_qdir_tree.cpp +++ b/tests/benchmarks/corelib/io/qdir/tree/tst_bench_qdir_tree.cpp @@ -1,30 +1,5 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the test suite module 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) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <QtTest/QTest> @@ -35,14 +10,14 @@ #include "../../../../../shared/filesystem.h" -class bench_QDir_tree +class tst_QDir_tree : public QObject { Q_OBJECT public: - bench_QDir_tree() - : prefix("./test-tree/"), + tst_QDir_tree() + : prefix("test-tree/"), musicprefix(QLatin1String("music")), photoprefix(QLatin1String("photos")), sourceprefix(QLatin1String("source")), @@ -60,6 +35,7 @@ private: qint64 musicsize; qint64 photosize; qint64 sourcesize; + FileSystem fs; // Uses QTemporaryDir to tidy away file tree created. private slots: void initTestCase() @@ -71,7 +47,7 @@ private slots: QStack<QByteArray> stack; QByteArray line; - Q_FOREVER { + while (true) { char ch; if (!list.getChar(&ch)) break; @@ -89,12 +65,11 @@ private slots: --pop; } - line = list.readLine(); - line.chop(1); + line = list.readLine().trimmed(); stack.push(line); line = prefix; - Q_FOREACH(const QByteArray &pathElement, stack) + for (const QByteArray &pathElement : std::as_const(stack)) line += pathElement; if (line.endsWith('/')) @@ -140,13 +115,11 @@ private slots: QTest::addColumn<int>("filter"); QTest::addColumn<int>("entryCount"); - QTest::newRow("*.cpp") << QStringList("*.cpp") - << int(QDir::Files) - << 3813; - - QTest::newRow("executables") << QStringList("*") + QTest::newRow("*.cpp") << QStringList("*.cpp") << int(QDir::Files) << 3791; + QTest::newRow("executables") + << QStringList("*") << int(QDir::Executable | QDir::Files | QDir::AllDirs | QDir::NoDotAndDotDot) - << 543; + << 536; } void fileSearch() const @@ -158,8 +131,9 @@ private slots: int count = 0; QBENCHMARK { // Recursive directory iteration - QDirIterator iterator(prefix, nameFilters, QDir::Filter(filter), - QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); + QDirIterator iterator(fs.absoluteFilePath(prefix), + nameFilters, QDir::Filter(filter), + QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); count = 0; while (iterator.hasNext()) { @@ -177,7 +151,8 @@ private slots: { int count = 0; QBENCHMARK { - QDirIterator iterator(prefix, + QDirIterator iterator( + fs.absoluteFilePath(prefix), QDir::AllEntries | QDir::NoDotAndDotDot | QDir::Hidden | QDir::System, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); @@ -187,10 +162,10 @@ private slots: ++count; } - QCOMPARE(count, 11963); + QCOMPARE(count, 11906); } - QCOMPARE(count, 11963); + QCOMPARE(count, 11906); } void thousandFiles_data() const @@ -209,19 +184,18 @@ private slots: QBENCHMARK { qint64 totalsize = 0; int count = 0; - QDirIterator iter(dirName, QDir::Files, QDirIterator::Subdirectories); + QDirIterator iter(fs.absoluteFilePath(dirName), + QDir::Files, QDirIterator::Subdirectories); while(iter.hasNext()) { - iter.next(); count++; - totalsize += iter.fileInfo().size(); + totalsize += iter.nextFileInfo().size(); } QCOMPARE(count, 1000); QCOMPARE(totalsize, expectedSize); } } -private: - FileSystem fs; }; -QTEST_MAIN(bench_QDir_tree) -#include "bench_qdir_tree.moc" +QTEST_MAIN(tst_QDir_tree) + +#include "tst_bench_qdir_tree.moc" diff --git a/tests/benchmarks/corelib/io/qdir/tree/bench_qdir_tree.qrc b/tests/benchmarks/corelib/io/qdir/tree/tst_bench_qdir_tree.qrc index d57cb6c368..d57cb6c368 100644 --- a/tests/benchmarks/corelib/io/qdir/tree/bench_qdir_tree.qrc +++ b/tests/benchmarks/corelib/io/qdir/tree/tst_bench_qdir_tree.qrc |