tests/auto/networkselftest/tst_networkselftest.cpp
changeset 3 41300fa6a67c
parent 0 1918ee327afb
child 4 3b1da2848fc7
--- a/tests/auto/networkselftest/tst_networkselftest.cpp	Tue Jan 26 12:42:25 2010 +0200
+++ b/tests/auto/networkselftest/tst_networkselftest.cpp	Tue Feb 02 00:43:10 2010 +0200
@@ -80,6 +80,9 @@
     void httpProxyNtlmAuth();
     void socks5Proxy();
     void socks5ProxyAuth();
+
+    // ssl supported test
+    void supportsSsl();
 };
 
 class Chat
@@ -153,7 +156,7 @@
     return result;
 }
 
-static bool doSocketRead(QTcpSocket *socket, int minBytesAvailable, int timeout = 2000)
+static bool doSocketRead(QTcpSocket *socket, int minBytesAvailable, int timeout = 4000)
 {
     QTime timer;
     timer.start();
@@ -168,7 +171,7 @@
     }
 }
 
-static bool doSocketFlush(QTcpSocket *socket, int timeout = 2000)
+static bool doSocketFlush(QTcpSocket *socket, int timeout = 4000)
 {
 #ifndef QT_NO_OPENSSL
     QSslSocket *sslSocket = qobject_cast<QSslSocket *>(socket);
@@ -333,6 +336,11 @@
     if (cachedIpAddress.protocol() == QAbstractSocket::UnknownNetworkLayerProtocol) {
         // need resolving
         QHostInfo resolved = QHostInfo::fromName(QtNetworkSettings::serverName());
+        if(resolved.error() != QHostInfo::NoError ||
+            !resolved.addresses().isEmpty()) {
+            qWarning("QHostInfo::fromName failed (%d).", resolved.error());
+            return QHostAddress(QHostAddress::Null);
+        }
         cachedIpAddress = resolved.addresses().first();
     }
     return cachedIpAddress;
@@ -712,5 +720,14 @@
             );
 }
 
+void tst_NetworkSelfTest::supportsSsl()
+{
+#ifdef QT_NO_OPENSSL
+    QFAIL("SSL not compiled in");
+#else
+    QVERIFY(QSslSocket::supportsSsl());
+#endif
+}
+
 QTEST_MAIN(tst_NetworkSelfTest)
 #include "tst_networkselftest.moc"