]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Also test metrics with recvmmsg support enabled 13604/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 28 Aug 2023 14:12:01 +0000 (16:12 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 12 Dec 2023 10:53:22 +0000 (11:53 +0100)
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.

(cherry picked from commit bd5a0bc629d6445be7a77e1c28539702f5cf2585)

regression-tests.dnsdist/test_Metrics.py

index 5a70d0d8cefda59b5d9ea6987cd3bb782323d862..877260ff86c2f04c782824517d5c5c6fd0759cb3 100644 (file)
@@ -8,7 +8,7 @@ import unittest
 import dns
 from dnsdisttests import DNSDistTest
 
-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)
+    """