summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorShane Kearns <shane.kearns@accenture.com>2011-03-10 18:16:05 (GMT)
committerShane Kearns <shane.kearns@accenture.com>2011-03-11 11:19:24 (GMT)
commit99baeb5b6b2c6d0b2724709ae8caa789e5ad5895 (patch)
tree21d59a8abf67fdd804e4afd2a7f3583e2e4070f1 /tests
parent132566afcf2357cc3c77d940f22567d83951f21d (diff)
downloadQt-99baeb5b6b2c6d0b2724709ae8caa789e5ad5895.zip
Qt-99baeb5b6b2c6d0b2724709ae8caa789e5ad5895.tar.gz
Qt-99baeb5b6b2c6d0b2724709ae8caa789e5ad5895.tar.bz2
Fixes for QTcpServer autotest
Set symbian capabilities in the two sub .pro files Enable IPv6 test on symbian Disable tests that use open C functions on socket descriptors When bearer management is enabled, start the network interface at start of the test. Reviewed-by: Markus Goetz
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qtcpserver/crashingServer/crashingServer.pro1
-rw-r--r--tests/auto/qtcpserver/qtcpserver.pro2
-rw-r--r--tests/auto/qtcpserver/test/test.pro7
-rw-r--r--tests/auto/qtcpserver/tst_qtcpserver.cpp34
4 files changed, 34 insertions, 10 deletions
diff --git a/tests/auto/qtcpserver/crashingServer/crashingServer.pro b/tests/auto/qtcpserver/crashingServer/crashingServer.pro
index 0bea655..700e952 100644
--- a/tests/auto/qtcpserver/crashingServer/crashingServer.pro
+++ b/tests/auto/qtcpserver/crashingServer/crashingServer.pro
@@ -6,3 +6,4 @@ DESTDIR = ./
# This means the auto test works on some machines for MinGW. No dialog stalls
# the application.
win32-g++*:CONFIG += console
+symbian: TARGET.CAPABILITY += NetworkServices ReadUserData
diff --git a/tests/auto/qtcpserver/qtcpserver.pro b/tests/auto/qtcpserver/qtcpserver.pro
index a3744a2..e123cfe 100644
--- a/tests/auto/qtcpserver/qtcpserver.pro
+++ b/tests/auto/qtcpserver/qtcpserver.pro
@@ -1,6 +1,4 @@
TEMPLATE = subdirs
SUBDIRS = test crashingServer
-symbian: TARGET.CAPABILITY = NetworkServices
-
diff --git a/tests/auto/qtcpserver/test/test.pro b/tests/auto/qtcpserver/test/test.pro
index e91ba20..65e1d82 100644
--- a/tests/auto/qtcpserver/test/test.pro
+++ b/tests/auto/qtcpserver/test/test.pro
@@ -13,9 +13,10 @@ wince*: {
}
symbian {
- crashApp.files = $$QT_BUILD_TREE/examples/widgets/wiggly/$${BUILD_DIR}/crashingServer.exe
- crashApp.path = .
- DEPLOYMENT += crashApp
+ crashApp.files = $$QT_BUILD_TREE/examples/widgets/wiggly/$${BUILD_DIR}/crashingServer.exe
+ crashApp.path = .
+ DEPLOYMENT += crashApp
+ TARGET.CAPABILITY += NetworkServices ReadUserData
}
TARGET = ../tst_qtcpserver
diff --git a/tests/auto/qtcpserver/tst_qtcpserver.cpp b/tests/auto/qtcpserver/tst_qtcpserver.cpp
index 3d377a4..cff2fe5 100644
--- a/tests/auto/qtcpserver/tst_qtcpserver.cpp
+++ b/tests/auto/qtcpserver/tst_qtcpserver.cpp
@@ -70,6 +70,9 @@
Q_DECLARE_METATYPE(QNetworkProxy)
Q_DECLARE_METATYPE(QList<QNetworkProxy>)
+#include <QNetworkSession>
+#include <QNetworkConfiguration>
+#include <QNetworkConfigurationManager>
#include "../network-settings.h"
//TESTED_CLASS=
@@ -86,6 +89,7 @@ public:
public slots:
void initTestCase_data();
+ void initTestCase();
void init();
void cleanup();
private slots:
@@ -107,6 +111,11 @@ private slots:
void proxyFactory();
void qtbug14268_peek();
+
+private:
+#ifndef QT_NO_BEARERMANAGEMENT
+ QNetworkSession *networkSession;
+#endif
};
// Testing get/set functions
@@ -141,6 +150,16 @@ void tst_QTcpServer::initTestCase_data()
QTest::newRow("WithSocks5Proxy") << true << int(QNetworkProxy::Socks5Proxy);
}
+void tst_QTcpServer::initTestCase()
+{
+#ifndef QT_NO_BEARERMANAGEMENT
+ QNetworkConfigurationManager man;
+ networkSession = new QNetworkSession(man.defaultConfiguration(), this);
+ networkSession->open();
+ QVERIFY(networkSession->waitForOpened());
+#endif
+}
+
void tst_QTcpServer::init()
{
QFETCH_GLOBAL(bool, setProxy);
@@ -190,7 +209,7 @@ void tst_QTcpServer::clientServerLoop()
QTcpSocket client;
QHostAddress serverAddress = QHostAddress::LocalHost;
- if (!(server.serverAddress() == QHostAddress::Any))
+ if (!(server.serverAddress() == QHostAddress::Any) && !(server.serverAddress() == QHostAddress::AnyIPv6))
serverAddress = server.serverAddress();
client.connectToHost(serverAddress, server.serverPort());
@@ -222,9 +241,6 @@ void tst_QTcpServer::clientServerLoop()
//----------------------------------------------------------------------------------
void tst_QTcpServer::ipv6Server()
{
-#if defined(Q_OS_SYMBIAN)
- QSKIP("Symbian: IPv6 is not yet supported", SkipAll);
-#endif
//### need to enter the event loop for the server to get the connection ?? ( windows)
QTcpServer server;
if (!server.listen(QHostAddress::LocalHostIPv6, 8944)) {
@@ -244,6 +260,8 @@ void tst_QTcpServer::ipv6Server()
QTcpSocket *serverSocket = 0;
QVERIFY((serverSocket = server.nextPendingConnection()));
+ serverSocket->close();
+ delete serverSocket;
}
//----------------------------------------------------------------------------------
@@ -379,7 +397,8 @@ void tst_QTcpServer::setSocketDescriptor()
QTcpServer server;
QVERIFY(!server.setSocketDescriptor(42));
QCOMPARE(server.serverError(), QAbstractSocket::UnsupportedSocketOperationError);
-
+#ifndef Q_OS_SYMBIAN
+ //adopting Open C sockets is not supported, neither is adopting externally created RSocket
#ifdef Q_OS_WIN
// ensure winsock is started
WSADATA wsaData;
@@ -402,6 +421,7 @@ void tst_QTcpServer::setSocketDescriptor()
#ifdef Q_OS_WIN
WSACleanup();
#endif
+#endif
}
//----------------------------------------------------------------------------------
@@ -493,6 +513,9 @@ void tst_QTcpServer::addressReusable()
void tst_QTcpServer::setNewSocketDescriptorBlocking()
{
+#ifdef Q_OS_SYMBIAN
+ QSKIP("open C ioctls on Qt sockets not supported", SkipAll);
+#else
QFETCH_GLOBAL(bool, setProxy);
if (setProxy) {
QFETCH_GLOBAL(int, proxyType);
@@ -507,6 +530,7 @@ void tst_QTcpServer::setNewSocketDescriptorBlocking()
socket.connectToHost(QHostAddress::LocalHost, server.serverPort());
QVERIFY(server.waitForNewConnection(5000));
QVERIFY(server.ok);
+#endif
}
void tst_QTcpServer::invalidProxy_data()