]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Count number of queries as suggested by @rgacogne. Do not assert on it yet, 9559/head
authorOtto Moerbeek <otto.moerbeek@open-xchange.com>
Wed, 30 Sep 2020 09:50:40 +0000 (11:50 +0200)
committerOtto Moerbeek <otto.moerbeek@open-xchange.com>
Wed, 30 Sep 2020 09:50:40 +0000 (11:50 +0200)
we are seeing some non-deterministic behaviour.

pdns/recursordist/test-syncres_cc2.cc

index b886200021327ca0fbc896ad91607f011e20d26b..c7f40b44cbb2661c363c1963385357947244ed86 100644 (file)
@@ -105,8 +105,11 @@ BOOST_AUTO_TEST_CASE(test_glueless_referral_loop)
 
   const DNSName target1("powerdns.com.");
   const DNSName target2("powerdns.org.");
+  size_t queriesToNS = 0;
+
+  sr->setAsyncCallback([target1, target2, &queriesToNS](const ComboAddress& ip, const DNSName& domain, int type, bool doTCP, bool sendRDQuery, int EDNS0Level, struct timeval* now, boost::optional<Netmask>& srcmask, boost::optional<const ResolveContext&> context, LWResult* res, bool* chained) {
+    queriesToNS++;
 
-  sr->setAsyncCallback([target1, target2](const ComboAddress& ip, const DNSName& domain, int type, bool doTCP, bool sendRDQuery, int EDNS0Level, struct timeval* now, boost::optional<Netmask>& srcmask, boost::optional<const ResolveContext&> context, LWResult* res, bool* chained) {
     if (isRootServer(ip)) {
       setLWResult(res, 0, false, false, true);
 
@@ -150,6 +153,9 @@ BOOST_AUTO_TEST_CASE(test_glueless_referral_loop)
   int res = sr->beginResolve(target1, QType(QType::A), QClass::IN, ret);
   BOOST_CHECK_EQUAL(res, RCode::ServFail);
   BOOST_REQUIRE_EQUAL(ret.size(), 0U);
+  // Due to some non-deterministic behaviour in the recursor, this number varies.
+  // Investigate! See #9565
+  //BOOST_CHECK_EQUAL(queriesToNS, 22U);
 }
 
 BOOST_AUTO_TEST_CASE(test_cname_qperq)