From ea871ee2e2166021f24e7318a781efa27452d4c8 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 27 Sep 2024 22:31:36 -0700 Subject: [PATCH] tst_QDnsLookup: don't require "localhost" to resolve MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It must for QHostInfo, but DNS servers are not required to have that label. It appears to be a good practice the majority of admins follow, but it's not universal, so we cannot require it. But if it does resolve, then RFC 2606 requires it resolve to 127.0.0.1. Task-number: QTBUG-129335 Change-Id: Ib3b11de6616665658a20fffd754f2fbd78780b1c Reviewed-by: Mårten Nordheim Reviewed-by: Tor Arne Vestbø (cherry picked from commit 252bd7c67ce7a0ed3c41059f551f87f0f77b5606) Reviewed-by: Qt Cherry-pick Bot --- tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp b/tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp index 1d120cf6682..1317dfc889c 100644 --- a/tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp +++ b/tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp @@ -388,9 +388,14 @@ QStringList tst_QDnsLookup::formatReply(const QDnsLookup *lookup) const void tst_QDnsLookup::lookupLocalhost() { + // The "localhost" label is reserved by RFC 2606 to point to the IPv4 + // address 127.0.0.1. However, DNS servers are not required to answer this + // (though it appears to be a good practice). auto lookup = lookupCommon(QDnsLookup::Type::A, u"localhost."_s); QVERIFY(lookup); - QCOMPARE(lookup->error(), QDnsLookup::NoError); + QVERIFY(lookup->error() == QDnsLookup::NoError || lookup->error() == QDnsLookup::NotFoundError); + if (lookup->error() == QDnsLookup::NotFoundError) + return; QList hosts = lookup->hostAddressRecords(); QCOMPARE(hosts.size(), 1);