]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Add some wiggle room in the rings' tests, Travis is slow
authorRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 21 Mar 2018 13:49:35 +0000 (14:49 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 29 Mar 2018 09:37:52 +0000 (11:37 +0200)
pdns/dnsdistdist/test-dnsdistrings_cc.cc

index 4b4f5da0b7b9fa427bf46cb66cd115b5d113fe74..63ec032113bbc320508d15f4b8d9e9db2bb0f01f 100644 (file)
@@ -220,14 +220,17 @@ BOOST_AUTO_TEST_CASE(test_Rings_Threaded) {
   readerThread.join();
 
   BOOST_CHECK_EQUAL(rings.getNumberOfShards(), numberOfShards);
-  BOOST_CHECK_EQUAL(rings.getNumberOfQueryEntries(), numberOfEntries);
-  BOOST_CHECK_EQUAL(rings.getNumberOfResponseEntries(), numberOfEntries);
   BOOST_CHECK_EQUAL(rings.d_shards.size(), rings.getNumberOfShards());
+  BOOST_CHECK_LE(rings.getNumberOfQueryEntries(), numberOfEntries);
+  BOOST_CHECK_GT(rings.getNumberOfQueryEntries(), numberOfEntries * 0.99);
+  BOOST_CHECK_LE(rings.getNumberOfResponseEntries(), numberOfEntries);
+  BOOST_CHECK_GT(rings.getNumberOfResponseEntries(), numberOfEntries * 0.99);
 
   size_t totalQueries = 0;
   size_t totalResponses = 0;
   for (const auto& shard : rings.d_shards) {
-    BOOST_CHECK_EQUAL(shard->queryRing.size(), entriesPerShard);
+    BOOST_CHECK_LE(shard->queryRing.size(), entriesPerShard);
+    BOOST_CHECK_GT(shard->queryRing.size(), entriesPerShard * 0.95);
     totalQueries += shard->queryRing.size();
     for (const auto& entry : shard->queryRing) {
       BOOST_CHECK_EQUAL(entry.name, qname);
@@ -236,7 +239,8 @@ BOOST_AUTO_TEST_CASE(test_Rings_Threaded) {
       BOOST_CHECK_EQUAL(entry.when.tv_sec, now.tv_sec);
       BOOST_CHECK_EQUAL(entry.requestor.toStringWithPort(), requestor.toStringWithPort());
     }
-    BOOST_CHECK_EQUAL(shard->respRing.size(), entriesPerShard);
+    BOOST_CHECK_LE(shard->respRing.size(), entriesPerShard);
+    BOOST_CHECK_GT(shard->respRing.size(), entriesPerShard * 0.95);
     totalResponses += shard->respRing.size();
     for (const auto& entry : shard->respRing) {
       BOOST_CHECK_EQUAL(entry.name, qname);