diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-10-12 01:01:25 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-10-12 01:01:25 +0200 |
commit | 721a0e807881e4d00e752e3c3cf62427eb681dd2 (patch) | |
tree | 091100b37905e10fc3905d3e1665e1e849d59d72 /tests/benchmarks/network | |
parent | 50d41f14eecc32e374ca34f76d45d65684a640c8 (diff) | |
parent | 8aa3329a7186b087163f68ef880c8ffdd47d01bf (diff) |
Merge remote-tracking branch 'origin/5.15' into dev
Change-Id: I6ad865b2c26003f4508da9b3f8e075a951ff8ef7
Diffstat (limited to 'tests/benchmarks/network')
-rw-r--r-- | tests/benchmarks/network/socket/qudpsocket/qudpsocket.pro | 8 | ||||
-rw-r--r-- | tests/benchmarks/network/socket/qudpsocket/tst_qudpsocket.cpp | 80 | ||||
-rw-r--r-- | tests/benchmarks/network/socket/socket.pro | 3 |
3 files changed, 90 insertions, 1 deletions
diff --git a/tests/benchmarks/network/socket/qudpsocket/qudpsocket.pro b/tests/benchmarks/network/socket/qudpsocket/qudpsocket.pro new file mode 100644 index 0000000000..8df5340e2e --- /dev/null +++ b/tests/benchmarks/network/socket/qudpsocket/qudpsocket.pro @@ -0,0 +1,8 @@ +TEMPLATE = app +TARGET = tst_bench_qudpsocket + +QT = network testlib + +CONFIG += release + +SOURCES += tst_qudpsocket.cpp diff --git a/tests/benchmarks/network/socket/qudpsocket/tst_qudpsocket.cpp b/tests/benchmarks/network/socket/qudpsocket/tst_qudpsocket.cpp new file mode 100644 index 0000000000..e6dbbf9dfa --- /dev/null +++ b/tests/benchmarks/network/socket/qudpsocket/tst_qudpsocket.cpp @@ -0,0 +1,80 @@ +/**************************************************************************** +** +** Copyright (C) 2019 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 <QtTest/QtTest> +#include <QtCore/qglobal.h> +#include <QtCore/qcoreapplication.h> +#include <QtNetwork/qudpsocket.h> +#include <QtNetwork/qnetworkdatagram.h> + +class tst_QUdpSocket : public QObject +{ + Q_OBJECT +public: + tst_QUdpSocket(); + +private slots: + void pendingDatagramSize_data(); + void pendingDatagramSize(); +}; + +tst_QUdpSocket::tst_QUdpSocket() +{ +} + +void tst_QUdpSocket::pendingDatagramSize_data() +{ + QTest::addColumn<int>("size"); + for (int value : {52, 1024, 2049, 4500, 4098, 8192, 12000, 25000, 32 * 1024, 63 * 1024}) + QTest::addRow("%d", value) << value; +} + +void tst_QUdpSocket::pendingDatagramSize() +{ + QFETCH(int, size); + QUdpSocket socket; + socket.bind(); + + QNetworkDatagram datagram; + datagram.setData(QByteArray(size, 'a')); + datagram.setDestination(QHostAddress::SpecialAddress::LocalHost, socket.localPort()); + + auto sent = socket.writeDatagram(datagram); + QCOMPARE(sent, size); + + auto res = QTest::qWaitFor([&socket]() { return socket.hasPendingDatagrams(); }, 5000); + QVERIFY(res); + + QBENCHMARK { + auto pendingSize = socket.pendingDatagramSize(); + Q_UNUSED(pendingSize); + } +} + +QTEST_MAIN(tst_QUdpSocket) +#include "tst_qudpsocket.moc" diff --git a/tests/benchmarks/network/socket/socket.pro b/tests/benchmarks/network/socket/socket.pro index 2d676a2c6e..d428a4d973 100644 --- a/tests/benchmarks/network/socket/socket.pro +++ b/tests/benchmarks/network/socket/socket.pro @@ -1,3 +1,4 @@ TEMPLATE = subdirs SUBDIRS = \ - qtcpserver + qtcpserver \ + qudpsocket |