]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Also test metrics with recvmmsg support enabled 13182/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 28 Aug 2023 14:12:01 +0000 (16:12 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 28 Aug 2023 14:12:01 +0000 (16:12 +0200)
We have seen in https://github.com/PowerDNS/pdns/issues/13148 that
we can easily break frontend metrics when `recvmmsg`/`sendmmsg`
support is enabled via `setUDPMultipleMessagesVectorSize()`, so let's
test the metrics in that case explicitly so we do not break them
again in the future.

regression-tests.dnsdist/test_Metrics.py

index cac87f3d912f4e10e189c805e7a1fb761d0e8089..bc7faf6c68c42e66ff04b96c3cbea51bc1cf68ee 100644 (file)
@@ -8,7 +8,7 @@ import unittest
 import dns
 from dnsdisttests import DNSDistTest, pickAvailablePort
 
-class TestRuleMetrics(DNSDistTest):
+class RuleMetricsTest(object):
 
     _config_template = """
     addTLSLocal("127.0.0.1:%s", "%s", "%s", { provider="openssl" })
@@ -176,3 +176,12 @@ class TestRuleMetrics(DNSDistTest):
             self.assertEqual(self.getMetric('frontend-servfail'), frontendBefore + 2)
             self.assertEqual(self.getMetric('servfail-responses'), servfailBefore + 1)
             self.assertEqual(self.getMetric('rule-servfail'), ruleBefore)
+
+class TestRuleMetricsDefault(RuleMetricsTest, DNSDistTest):
+    None
+
+class TestRuleMetricsRecvmmsg(RuleMetricsTest, DNSDistTest):
+    # test the metrics with recvmmsg/sendmmsg support enabled as well
+    _config_template = RuleMetricsTest._config_template + """
+        setUDPMultipleMessagesVectorSize(10)
+    """