summaryrefslogtreecommitdiffstats
path: root/tests/manual/qnetconmonitor/tst_qnetconmonitor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/qnetconmonitor/tst_qnetconmonitor.cpp')
-rw-r--r--tests/manual/qnetconmonitor/tst_qnetconmonitor.cpp94
1 files changed, 15 insertions, 79 deletions
diff --git a/tests/manual/qnetconmonitor/tst_qnetconmonitor.cpp b/tests/manual/qnetconmonitor/tst_qnetconmonitor.cpp
index 92daee3348..a052932dd2 100644
--- a/tests/manual/qnetconmonitor/tst_qnetconmonitor.cpp
+++ b/tests/manual/qnetconmonitor/tst_qnetconmonitor.cpp
@@ -1,48 +1,23 @@
-/****************************************************************************
-**
-** 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$
-**
-****************************************************************************/
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtCore/qcoreapplication.h>
#include <QtCore/qdeadlinetimer.h>
#include <QtNetwork/qhostinfo.h>
+#include <QtNetwork/qnetworkinformation.h>
#include <QtNetwork/private/qnetconmonitor_p.h>
#include <QtTest/qsignalspy.h>
-void testDetectDisconnection();
void testDetectRouteDisrupted();
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
- if (!QNetworkStatusMonitor::isEnabled()) {
- qWarning("QNetworkStatusMonitor is not enabled for this platform!");
+ if (!QNetworkConnectionMonitor::isEnabled()) {
+ qWarning("QNetworkConnectionMonitor is not enabled for this platform!");
return 0;
}
@@ -51,10 +26,8 @@ int main(int argc, char *argv[])
QByteArray indent(" ");
{
QTextStream writer(stdout);
- writer << "Manual test for QNetwork{Status|Connection}Monitor\n"
+ writer << "Manual test for QNetworkConnection}Monitor\n"
<< "The tests are grouped by what they test. Run them in any order\n"
- << "- QNetworkStatusMonitor tests:\n"
- << indent << "c" << indent << "Test connection and disconnection detection.\n"
<< "- QNetworkConnectionMonitor tests:\n"
<< indent << "r" << indent << "Test detection of disruption of route to target.\n"
<< "- General\n"
@@ -70,9 +43,6 @@ int main(int argc, char *argv[])
};
switch (getCommand()) {
- case 'c':
- testDetectDisconnection();
- break;
case 'r':
testDetectRouteDisrupted();
break;
@@ -84,16 +54,19 @@ int main(int argc, char *argv[])
return 0;
}
-bool ensureNetworkAccessible(QNetworkStatusMonitor &status, QTextStream &writer)
+bool ensureNetworkAccessible(QTextStream &writer)
{
- if (!status.isNetworkAccessible()) {
+ auto netInfo = QNetworkInformation::instance();
+ if (netInfo->reachability() == QNetworkInformation::Reachability::Disconnected) {
writer << "Network currently not accessible, please make sure you have an internet "
"connection. Will wait for a connection for 20 seconds.\n";
writer.flush();
QDeadlineTimer timer{ 20 * 1000 };
- while (!timer.hasExpired() && !status.isNetworkAccessible())
+ while (!timer.hasExpired()
+ && netInfo->reachability() == QNetworkInformation::Reachability::Disconnected) {
QCoreApplication::processEvents();
- if (!status.isNetworkAccessible()) {
+ }
+ if (netInfo->reachability() == QNetworkInformation::Reachability::Disconnected) {
writer << "Error: No network in 20 seconds, ending now!\n";
return false;
}
@@ -102,53 +75,16 @@ bool ensureNetworkAccessible(QNetworkStatusMonitor &status, QTextStream &writer)
return true;
}
-void testDetectDisconnection()
-{
- QTextStream writer(stdout);
- QNetworkStatusMonitor status;
-
- if (!status.start()) {
- writer << "Error: Failed to start";
- return;
- }
-
- if (!ensureNetworkAccessible(status, writer))
- return;
-
- QSignalSpy onlineStateSpy(&status, &QNetworkStatusMonitor::onlineStateChanged);
-
- writer << "Please disconnect from the internet within 20 seconds\n";
- writer.flush();
- QDeadlineTimer timer{ 20 * 1000 };
- while (!timer.hasExpired() && status.isNetworkAccessible())
- QCoreApplication::processEvents();
- if (status.isNetworkAccessible()) {
- writer << "Error: Still connected after 20 seconds, ending now!\n";
- return;
- }
- if (onlineStateSpy.count() == 0) {
- writer << "Error: There was a disconnection but there was no signal emitted!\n";
- return;
- }
- // Get the final parameter of the final signal emission and make sure it is false.
- if (onlineStateSpy.last().last().toBool()) {
- writer << "Error: There was a disconnection but the latest signal emitted says we are online!\n";
- return;
- }
- writer << "Success, connection loss was detected!\n";
-}
-
void testDetectRouteDisrupted()
{
QTextStream writer(stdout);
{
- QNetworkStatusMonitor status;
- if (!status.start()) {
+ if (!QNetworkInformation::loadDefaultBackend()) {
writer << "Error: Failed to start";
return;
}
- if (!ensureNetworkAccessible(status, writer))
+ if (!ensureNetworkAccessible(writer))
return;
}