From eaf0a92dcb6fb12f3d65aa4fc806ccbfaa7f7db0 Mon Sep 17 00:00:00 2001
From: Sergio Ahumada <sahumada@blackberry.com>
Date: Tue, 11 Feb 2014 10:06:49 +0100
Subject: [PATCH] test: Don't fail *all* tests if the network test server is
 not set up

Since not all tests for tst_qxmlquery and tst_xmlpatterns depend on
the network test server being set up, now we just fail those which
really depend on it allowing the rest to be normally run.

Change-Id: I0588cf986ffddea117cee680e07e1a8cc4d68436
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
---
 tests/auto/qxmlquery/tst_qxmlquery.cpp     | 18 +++++++++++++++++-
 tests/auto/xmlpatterns/tst_xmlpatterns.cpp |  6 ++++--
 2 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/tests/auto/qxmlquery/tst_qxmlquery.cpp b/tests/auto/qxmlquery/tst_qxmlquery.cpp
index 86521ee3..96a7e164 100644
--- a/tests/auto/qxmlquery/tst_qxmlquery.cpp
+++ b/tests/auto/qxmlquery/tst_qxmlquery.cpp
@@ -256,7 +256,6 @@ const QString tst_QXmlQuery::m_xmlPatternsDir = QFINDTESTDATA("../xmlpatterns");
 void tst_QXmlQuery::initTestCase()
 {
     QVERIFY2(!m_xmlPatternsDir.isEmpty(), qPrintable(QString::fromLatin1("Cannot locate '../xmlpatterns' starting from %1").arg(QDir::currentPath())));
-    QVERIFY(QtNetworkSettings::verifyTestNetworkSettings());
 }
 
 void tst_QXmlQuery::checkBaseURI(const QUrl &baseURI, const QString &candidate)
@@ -1994,6 +1993,10 @@ void tst_QXmlQuery::setFocusQIODeviceTriggerWarnings() const
 
 void tst_QXmlQuery::fnDocNetworkAccessSuccess() const
 {
+    if (QTest::currentDataTag() == QByteArray("http scheme")
+            || QTest::currentDataTag() == QByteArray("ftp scheme"))
+        QVERIFY(QtNetworkSettings::verifyTestNetworkSettings());
+
 #if defined(Q_OS_WINCE) && !defined(_X86_)
     QStringList testsToSkip;
     testsToSkip << "http scheme" << "ftp scheme";
@@ -2065,6 +2068,11 @@ void tst_QXmlQuery::fnDocNetworkAccessSuccess_data() const
 
 void tst_QXmlQuery::fnDocNetworkAccessFailure() const
 {
+    if (QTest::currentDataTag() == QByteArray("http scheme, not well-formed")
+            || QTest::currentDataTag() == QByteArray("https scheme, not well-formed")
+            || QTest::currentDataTag() == QByteArray("ftp scheme, not well-formed"))
+        QVERIFY(QtNetworkSettings::verifyTestNetworkSettings());
+
     QFETCH(QUrl, uriToOpen);
 
     QVERIFY(uriToOpen.isValid());
@@ -2525,6 +2533,10 @@ void tst_QXmlQuery::setQueryQString() const
 
 void tst_QXmlQuery::setQueryQUrlSuccess() const
 {
+    if (QTest::currentDataTag() == QByteArray("A valid query via the ftp scheme")
+            || QTest::currentDataTag() == QByteArray("A valid query via the http scheme"))
+        QVERIFY(QtNetworkSettings::verifyTestNetworkSettings());
+
 #if defined(Q_OS_WINCE) && !defined(_X86_)
     QStringList testsToSkip;
     testsToSkip << "A valid query via the ftp scheme" << "A valid query via the http scheme";
@@ -2595,6 +2607,10 @@ void tst_QXmlQuery::setQueryQUrlFailSucceed() const
 
 void tst_QXmlQuery::setQueryQUrlFailure() const
 {
+    if (QTest::currentDataTag() == QByteArray("A query via http:// that is completely empty, but readable.")
+            || QTest::currentDataTag() == QByteArray("A query via ftp:// that is completely empty, but readable."))
+        QVERIFY(QtNetworkSettings::verifyTestNetworkSettings());
+
     QFETCH(QUrl, queryURI);
 
     MessageSilencer silencer;
diff --git a/tests/auto/xmlpatterns/tst_xmlpatterns.cpp b/tests/auto/xmlpatterns/tst_xmlpatterns.cpp
index 86020dd9..a5c6c84e 100644
--- a/tests/auto/xmlpatterns/tst_xmlpatterns.cpp
+++ b/tests/auto/xmlpatterns/tst_xmlpatterns.cpp
@@ -104,8 +104,6 @@ tst_XmlPatterns::tst_XmlPatterns() : m_generatedTests(0)
 
 void tst_XmlPatterns::initTestCase()
 {
-    QVERIFY(QtNetworkSettings::verifyTestNetworkSettings());
-
     QVERIFY(m_normalizeTestName.isValid());
 
     QProcess process;
@@ -126,6 +124,10 @@ void tst_XmlPatterns::initTestCase()
 
 void tst_XmlPatterns::xquerySupport()
 {
+    if (QTest::currentDataTag() == QByteArray("Load query via FTP")
+            || QTest::currentDataTag() == QByteArray("Load query via HTTP"))
+        QVERIFY(QtNetworkSettings::verifyTestNetworkSettings());
+
     if(m_dontRun)
         QSKIP("The command line utility is not in the path.");
 
-- 
GitLab