mirror of
https://github.com/crystalidea/qt6windows7.git
synced 2025-07-06 17:25:24 +08:00
qt 6.5.1 original
This commit is contained in:
77
tests/auto/network/socket/qtcpsocket/BLACKLIST
Normal file
77
tests/auto/network/socket/qtcpsocket/BLACKLIST
Normal file
@ -0,0 +1,77 @@
|
||||
[timeoutConnect:ip]
|
||||
windows
|
||||
# QTBUG-101274
|
||||
[timeoutConnect:WithSocks5Proxy:ip]
|
||||
qnx ci
|
||||
[timeoutConnect:WithSocks5ProxyAuth:ip]
|
||||
qnx ci
|
||||
[timeoutConnect:WithHttpProxy:ip]
|
||||
qnx ci
|
||||
[timeoutConnect:WithHttpProxyBasicAuth:ip]
|
||||
qnx ci
|
||||
[timeoutConnect:WithSocks5Proxy SSL:ip]
|
||||
qnx ci
|
||||
[timeoutConnect:WithSocks5AuthProxy SSL:ip]
|
||||
qnx ci
|
||||
[timeoutConnect:WithHttpProxy SSL:ip]
|
||||
qnx ci
|
||||
[timeoutConnect:WithHttpProxyBasicAuth SSL:ip]
|
||||
qnx ci
|
||||
[suddenRemoteDisconnect:WithoutProxy:Qt4 Client <-> Qt4 Server]
|
||||
qnx ci
|
||||
# QTBUG-66247
|
||||
[delayedClose:WithSocks5Proxy]
|
||||
windows-10 gcc developer-build
|
||||
[delayedClose:WithSocks5Proxy SSL]
|
||||
windows-10 gcc developer-build
|
||||
[partialRead:WithSocks5Proxy]
|
||||
windows-10 gcc developer-build
|
||||
[partialRead:WithSocks5Proxy SSL]
|
||||
windows-10 gcc developer-build
|
||||
[unget:WithSocks5Proxy]
|
||||
windows-10 gcc developer-build
|
||||
[unget:WithSocks5Proxy SSL]
|
||||
windows-10 gcc developer-build
|
||||
[readAllAfterClose:WithSocks5Proxy]
|
||||
windows-10 gcc developer-build
|
||||
[readAllAfterClose:WithSocks5Proxy SSL]
|
||||
windows-10 gcc developer-build
|
||||
[openCloseOpenClose:WithSocks5Proxy]
|
||||
windows-10 gcc developer-build
|
||||
[openCloseOpenClose:WithSocks5Proxy SSL]
|
||||
windows-10 gcc developer-build
|
||||
[connectDisconnectConnectDisconnect:WithSocks5Proxy]
|
||||
windows-10 gcc developer-build
|
||||
[connectDisconnectConnectDisconnect:WithSocks5Proxy SSL]
|
||||
windows-10 gcc developer-build
|
||||
[downloadBigFile:WithSocks5Proxy]
|
||||
windows-10 gcc developer-build
|
||||
[downloadBigFile:WithSocks5Proxy SSL]
|
||||
windows-10 gcc developer-build
|
||||
[connectToHostError:WithoutProxy:localhost no service]
|
||||
windows-10 gcc developer-build
|
||||
[connectToHostError:WithSocks5Proxy:localhost no service]
|
||||
windows-10 gcc developer-build
|
||||
[connectToHostError:WithSocks5ProxyAuth:localhost no service]
|
||||
windows-10 gcc developer-build
|
||||
[connectToHostError:WithHttpProxy:localhost no service]
|
||||
windows-10 gcc developer-build
|
||||
[connectToHostError:WithHttpProxyBasicAuth:localhost no service]
|
||||
windows-10 gcc developer-build
|
||||
[connectToHostError:WithoutProxy SSL:localhost no service]
|
||||
windows-10 gcc developer-build
|
||||
[connectToHostError:WithSocks5Proxy SSL:localhost no service]
|
||||
windows-10 gcc developer-build
|
||||
[connectToHostError:WithSocks5AuthProxy SSL:localhost no service]
|
||||
windows-10 gcc developer-build
|
||||
[connectToHostError:WithHttpProxy SSL:localhost no service]
|
||||
windows-10 gcc developer-build
|
||||
[connectToHostError:WithHttpProxyBasicAuth SSL:localhost no service]
|
||||
windows-10 gcc developer-build
|
||||
[bind]
|
||||
macos arm
|
||||
# QTBUG-101274
|
||||
[bindThenResolveHost:WithoutProxy:first-fail]
|
||||
qnx ci
|
||||
[bindThenResolveHost:WithoutProxy SSL:first-fail]
|
||||
qnx ci
|
10
tests/auto/network/socket/qtcpsocket/CMakeLists.txt
Normal file
10
tests/auto/network/socket/qtcpsocket/CMakeLists.txt
Normal file
@ -0,0 +1,10 @@
|
||||
# Copyright (C) 2022 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
if(NOT QT_FEATURE_private_tests)
|
||||
return()
|
||||
endif()
|
||||
add_subdirectory(test)
|
||||
if(NOT VXWORKS)
|
||||
add_subdirectory(stressTest)
|
||||
endif()
|
@ -0,0 +1,16 @@
|
||||
# Copyright (C) 2022 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
#####################################################################
|
||||
## stressTest Binary:
|
||||
#####################################################################
|
||||
|
||||
qt_internal_add_executable(stressTest
|
||||
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/"
|
||||
SOURCES
|
||||
Test.cpp Test.h
|
||||
main.cpp
|
||||
LIBRARIES
|
||||
Qt::Network
|
||||
Qt::Test
|
||||
)
|
109
tests/auto/network/socket/qtcpsocket/stressTest/Test.cpp
Normal file
109
tests/auto/network/socket/qtcpsocket/stressTest/Test.cpp
Normal file
@ -0,0 +1,109 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
// Qt
|
||||
#include <QByteArray>
|
||||
#include <QCoreApplication>
|
||||
#include <QDataStream>
|
||||
#include <QTimer>
|
||||
|
||||
// Test
|
||||
#include "Test.h"
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
My4Socket::My4Socket(QObject *parent)
|
||||
: QTcpSocket(parent), safeShutDown(false)
|
||||
{
|
||||
connect(this, SIGNAL(readyRead()), this, SLOT(read()));
|
||||
connect(this, SIGNAL(disconnected()), this, SLOT(closed()));
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
void My4Socket::read(void)
|
||||
{
|
||||
QDataStream in(this);
|
||||
|
||||
quint32 num = 0;
|
||||
quint32 reply = 0;
|
||||
|
||||
while (bytesAvailable()) {
|
||||
in >> num;
|
||||
if (num == 42) {
|
||||
safeShutDown = true;
|
||||
qDebug("SUCCESS");
|
||||
QCoreApplication::instance()->quit();
|
||||
return;
|
||||
}
|
||||
reply = num + 1;
|
||||
if (reply == 42)
|
||||
++reply;
|
||||
}
|
||||
|
||||
// Reply with a bigger number
|
||||
sendTest(reply);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
void My4Socket::closed(void)
|
||||
{
|
||||
if (!safeShutDown)
|
||||
qDebug("FAILED");
|
||||
QCoreApplication::instance()->quit();
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
void My4Socket::sendTest(quint32 num)
|
||||
{
|
||||
QByteArray block;
|
||||
QDataStream out(&block, QIODevice::WriteOnly);
|
||||
out << num;
|
||||
|
||||
write(block, block.size());
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
My4Server::My4Server(QObject *parent)
|
||||
: QTcpServer(parent)
|
||||
{
|
||||
if (listen(QHostAddress::Any, 7700))
|
||||
qDebug("qt4server");
|
||||
QTimer::singleShot(5000, this, SLOT(stopServer()));
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
void My4Server::incomingConnection(qintptr socketId)
|
||||
{
|
||||
m_socket = new My4Socket(this);
|
||||
m_socket->setSocketDescriptor(socketId);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
void My4Server::stopServer()
|
||||
{
|
||||
if (m_socket) {
|
||||
qDebug("SUCCESS");
|
||||
m_socket->safeShutDown = true;
|
||||
m_socket->sendTest(42);
|
||||
} else {
|
||||
QCoreApplication::instance()->quit();
|
||||
}
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
Test::Test(Type type)
|
||||
{
|
||||
switch (type) {
|
||||
case Qt4Client: {
|
||||
qDebug("qt4client");
|
||||
My4Socket *s = new My4Socket(this);
|
||||
s->connectToHost("localhost", 7700);
|
||||
s->sendTest(1);
|
||||
break;
|
||||
}
|
||||
case Qt4Server: {
|
||||
new My4Server(this);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
57
tests/auto/network/socket/qtcpsocket/stressTest/Test.h
Normal file
57
tests/auto/network/socket/qtcpsocket/stressTest/Test.h
Normal file
@ -0,0 +1,57 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
#ifndef TEST_H
|
||||
#define TEST_H
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#include <QTcpServer>
|
||||
#include <QTcpSocket>
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
class My4Socket : public QTcpSocket
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
My4Socket(QObject *parent);
|
||||
|
||||
void sendTest(quint32 num);
|
||||
bool safeShutDown;
|
||||
|
||||
private slots:
|
||||
void read();
|
||||
void closed();
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
class My4Server : public QTcpServer
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
My4Server(QObject *parent = nullptr);
|
||||
|
||||
protected:
|
||||
void incomingConnection(qintptr socket) override;
|
||||
|
||||
private slots:
|
||||
void stopServer();
|
||||
|
||||
private:
|
||||
My4Socket *m_socket;
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
class Test : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
enum Type {
|
||||
Qt4Client,
|
||||
Qt4Server,
|
||||
};
|
||||
Test(Type type);
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#endif // TEST_H
|
29
tests/auto/network/socket/qtcpsocket/stressTest/main.cpp
Normal file
29
tests/auto/network/socket/qtcpsocket/stressTest/main.cpp
Normal file
@ -0,0 +1,29 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
#include "Test.h"
|
||||
|
||||
#include <QCoreApplication>
|
||||
#include <QStringList>
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
QCoreApplication app(argc, argv);
|
||||
|
||||
QString arg;
|
||||
if (app.arguments().size() > 1)
|
||||
arg = app.arguments().at(1).toLower().trimmed();
|
||||
|
||||
Test::Type type;
|
||||
if (arg == QLatin1String("qt4client"))
|
||||
type = Test::Qt4Client;
|
||||
else if (arg == QLatin1String("qt4server"))
|
||||
type = Test::Qt4Server;
|
||||
else {
|
||||
qDebug("usage: ./stressTest <qt4client|qt4server>");
|
||||
return 0;
|
||||
}
|
||||
|
||||
Test test(type);
|
||||
|
||||
return app.exec();
|
||||
}
|
24
tests/auto/network/socket/qtcpsocket/test/CMakeLists.txt
Normal file
24
tests/auto/network/socket/qtcpsocket/test/CMakeLists.txt
Normal file
@ -0,0 +1,24 @@
|
||||
# Copyright (C) 2022 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
#####################################################################
|
||||
## tst_qtcpsocket Test:
|
||||
#####################################################################
|
||||
|
||||
qt_internal_add_test(tst_qtcpsocket
|
||||
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../"
|
||||
SOURCES
|
||||
../tst_qtcpsocket.cpp
|
||||
LIBRARIES
|
||||
Qt::CorePrivate
|
||||
Qt::NetworkPrivate
|
||||
QT_TEST_SERVER_LIST "danted" "squid" "apache2" "ftp-proxy" "vsftpd" "iptables" "cyrus"
|
||||
)
|
||||
|
||||
## Scopes:
|
||||
#####################################################################
|
||||
|
||||
qt_internal_extend_target(tst_qtcpsocket CONDITION WIN32
|
||||
LIBRARIES
|
||||
ws2_32
|
||||
)
|
3220
tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
Normal file
3220
tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user