Bug#785207: qtbase-opensource-src: FTBFS (test failure) if unable to resolve www.example.com, www.foo.com
Source: qtbase-opensource-src
Version: 5.4.1+dfsg-2
Severity: normal
I'm using an OBS-based autobuilder which does not appear to configure
name resolution in its chroots: instead of using apt, it finds
build-dependencies on its own and includes them in a clean debootstrap.
As a result, resolving names during the build isn't required.
In this environment, one test fails:
FAIL! : tst_QNetworkDiskCache::setCookieHeader()
'!actualCookieJar.empty()' returned FALSE. ()
Loc: [tst_qnetworkdiskcache.cpp(440)]
I haven't tested it yet (I'll start the necessary build as soon as I get
a bug# to track this with), but I believe the attached patch from
upstream v5.5.0-alpha1 should address that.
This is potentially RC, depending on interpretation of Policy:
https://bugs.debian.org/770016
--
Simon McVittie
Collabora Ltd. <http://www.collabora.com/>
From: Thiago Macieira <thiago.macieira@intel.com>
Date: Tue, 3 Mar 2015 16:31:52 -0800
Subject: tst_QNetworkDiskCache: Stop using actual web servers
www.example.com is a reserved domain (RFC 6761), but IANA is running a
web server there. As for www.foo.com, that also exists, is a real
website and is often content-filtered in corporations (it triggers a
firewall warning for me -- "You attempted to visit a site that is in
violation of Intel acceptable use guidelines").
So use a localhost instead, since we don't actually need to connect to
the servers to do the work. And since we don't need to connect, I chose
port 4 as it's extremely unlikely someone is running an HTTP server
there (/etc/services lists it as unassigned).
Change-Id: Ia0aac2f09e9245339951ffff13c82439c6d5f945
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Origin: upstream, 5.5.0, commit:96e9b41e254aaeff2e1bb320791fa6e19f179e2b
---
.../network/access/qnetworkdiskcache/tst_qnetworkdiskcache.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tests/auto/network/access/qnetworkdiskcache/tst_qnetworkdiskcache.cpp b/tests/auto/network/access/qnetworkdiskcache/tst_qnetworkdiskcache.cpp
index a2f1668..8eee4bd 100644
--- a/tests/auto/network/access/qnetworkdiskcache/tst_qnetworkdiskcache.cpp
+++ b/tests/auto/network/access/qnetworkdiskcache/tst_qnetworkdiskcache.cpp
@@ -38,7 +38,7 @@
#include <algorithm>
-#define EXAMPLE_URL "http://user:pass@www.example.com/#foo"
+#define EXAMPLE_URL "http://user:pass@localhost:4/#foo"
//cached objects are organized into these many subdirs
#define NUM_SUBDIRECTORIES 16
@@ -409,7 +409,7 @@ void tst_QNetworkDiskCache::accessAfterRemoveReadyReadSlot()
void tst_QNetworkDiskCache::setCookieHeader() // QTBUG-41514
{
SubQNetworkDiskCache *cache = new SubQNetworkDiskCache();
- url = QUrl("http://www.foo.com/cookieTest.html");
+ url = QUrl("http://localhost:4/cookieTest.html"); // hopefully no one is running an HTTP server on port 4
QNetworkCacheMetaData metaData;
metaData.setUrl(url);
@@ -518,7 +518,7 @@ void tst_QNetworkDiskCache::expire()
if (i % 3 == 0)
QTest::qWait(2000);
QNetworkCacheMetaData m;
- m.setUrl(QUrl("http://www.foo.com/" + QString::number(i)));
+ m.setUrl(QUrl("http://localhost:4/" + QString::number(i)));
QIODevice *d = cache.prepare(m);
QString bigString;
bigString.fill(QLatin1Char('Z'), (1024 * 1024 / 4));
@@ -540,7 +540,7 @@ void tst_QNetworkDiskCache::expire()
std::sort(cacheList.begin(), cacheList.end());
for (int i = 0; i < cacheList.count(); ++i) {
QString fileName = cacheList[i];
- QCOMPARE(fileName, QString("http://www.foo.com/%1").arg(i + 6));
+ QCOMPARE(fileName, QString("http://localhost:4/%1").arg(i + 6));
}
}
Reply to: