summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks/corelib/kernel/events/main.cpp
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@qt.io>2021-08-18 11:48:29 +0200
committerEdward Welbourne <edward.welbourne@qt.io>2021-08-30 19:21:08 +0200
commit9004a2412ba1f9976c2c61f01223dff852208c42 (patch)
treef06abeec8b9cc66abf0e66cc9048c7a0ed02a360 /tests/benchmarks/corelib/kernel/events/main.cpp
parentc2a6749af795386495b275684418d083410fa1e4 (diff)
Standardise layout and naming in corelib benchmarks
Make file names match CMake's test names (and those follow dir-name) and class names follow tst_ClassName pattern when testing ClassName. Purge comments about the qmake configs the CMakeLists.txt are generated from. Purge empty constructors and init/cleanup methods of classes. Fix petty coding style violations. Add qdir/tree/, qurl, qbench and qset benchmarks to their parent directories' lists of subdirs. Fix unused return error from qurl benchmark. Change-Id: Ifc15a3a46e71cf82ad0637753517e0df34049763 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/benchmarks/corelib/kernel/events/main.cpp')
-rw-r--r--tests/benchmarks/corelib/kernel/events/main.cpp174
1 files changed, 0 insertions, 174 deletions
diff --git a/tests/benchmarks/corelib/kernel/events/main.cpp b/tests/benchmarks/corelib/kernel/events/main.cpp
deleted file mode 100644
index 973d96261c..0000000000
--- a/tests/benchmarks/corelib/kernel/events/main.cpp
+++ /dev/null
@@ -1,174 +0,0 @@
-/****************************************************************************
-**
-** 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$
-**
-****************************************************************************/
-#include <QtCore>
-
-#include <qtest.h>
-#include <qtesteventloop.h>
-
-class PingPong : public QObject
-{
-public:
- void setPeer(QObject *peer);
- void resetCounter() {m_counter = 100;}
-
-protected:
- bool event(QEvent *e) override;
-
-private:
- QObject *m_peer;
- int m_counter;
-};
-
-void PingPong::setPeer(QObject *peer)
-{
- m_peer = peer;
- m_counter = 100;
-}
-
-bool PingPong::event(QEvent *)
-{
- --m_counter;
- if (m_counter > 0) {
- QEvent *e = new QEvent(QEvent::User);
- QCoreApplication::postEvent(m_peer, e);
- } else {
- QTestEventLoop::instance().exitLoop();
- }
- return true;
-}
-
-class EventTester : public QObject
-{
-public:
- int foo(int bar);
-
-protected:
- bool event(QEvent *e) override;
-};
-
-bool EventTester::event(QEvent *e)
-{
- if (e->type() == QEvent::User+1)
- return foo(e->type()) != 0;
- return false;
-}
-
-int EventTester::foo(int bar)
-{
- return bar + 1;
-}
-
-class EventsBench : public QObject
-{
- Q_OBJECT
-
-private slots:
- void initTestCase();
- void cleanupTestCase();
-
- void noEvent();
- void sendEvent_data();
- void sendEvent();
- void postEvent_data();
- void postEvent();
-};
-
-void EventsBench::initTestCase()
-{
-}
-
-void EventsBench::cleanupTestCase()
-{
-}
-
-void EventsBench::noEvent()
-{
- EventTester tst;
- int val = 0;
- QBENCHMARK {
- val += tst.foo(1);
- }
-}
-
-void EventsBench::sendEvent_data()
-{
- QTest::addColumn<bool>("filterEvents");
- QTest::newRow("no eventfilter") << false;
- QTest::newRow("eventfilter") << true;
-}
-
-void EventsBench::sendEvent()
-{
- QFETCH(bool, filterEvents);
- EventTester tst;
- if (filterEvents)
- tst.installEventFilter(this);
- QEvent evt(QEvent::Type(QEvent::User+1));
- QBENCHMARK {
- QCoreApplication::sendEvent(&tst, &evt);
- }
-}
-
-void EventsBench::postEvent_data()
-{
- QTest::addColumn<bool>("filterEvents");
- // The first time an eventloop is executed, the case runs radically slower at least
- // on some platforms, so test the "no eventfilter" case to get a comparable results
- // with the "eventfilter" case.
- QTest::newRow("first time, no eventfilter") << false;
- QTest::newRow("no eventfilter") << false;
- QTest::newRow("eventfilter") << true;
-}
-
-void EventsBench::postEvent()
-{
- QFETCH(bool, filterEvents);
- PingPong ping;
- PingPong pong;
- ping.setPeer(&pong);
- pong.setPeer(&ping);
- if (filterEvents) {
- ping.installEventFilter(this);
- pong.installEventFilter(this);
- }
-
- QBENCHMARK {
- // In case multiple iterations are done, event needs to be created inside the QBENCHMARK,
- // or it gets deleted once first iteration exits and can cause a crash. Similarly,
- // ping and pong need their counters reset.
- QEvent *e = new QEvent(QEvent::User);
- ping.resetCounter();
- pong.resetCounter();
- QCoreApplication::postEvent(&ping, e);
- QTestEventLoop::instance().enterLoop( 61 );
- }
-}
-
-QTEST_MAIN(EventsBench)
-
-#include "main.moc"