]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Simple test for lua-records-exec-limit 15235/head
authorMiod Vallat <miod.vallat@powerdns.com>
Wed, 5 Mar 2025 07:20:56 +0000 (08:20 +0100)
committerMiod Vallat <miod.vallat@powerdns.com>
Wed, 5 Mar 2025 08:27:09 +0000 (09:27 +0100)
regression-tests.auth-py/test_LuaRecords.py

index 4da6b86f54fe3b54fc95a5b5d9c0cb4a94486592..0f0292c99fafb7450f9a91bb5f8df0977e2dd5a1 100644 (file)
@@ -1345,6 +1345,30 @@ lua-health-checks-interval=5
         self.assertAnyRRsetInAnswer(res, reachable_rrs)
         self.assertNoneRRsetInAnswer(res, unreachable_rrs)
 
+class TestLuaRecordsExecLimit(BaseLuaTest):
+     # This configuration is similar to BaseLuaTest, but the exec limit is
+     # set to a very low value.
+    _config_template = """
+geoip-database-files=../modules/geoipbackend/regression-tests/GeoLiteCity.mmdb
+edns-subnet-processing=yes
+launch=bind geoip
+any-to-tcp=no
+enable-lua-records
+lua-records-insert-whitespace=yes
+lua-records-exec-limit=1
+"""
+
+    def testA(self):
+        """
+        Test A query against `any`, failing due to exec-limit
+        """
+        name = 'any.example.org.'
+
+        query = dns.message.make_query(name, 'A')
+
+        res = self.sendUDPQuery(query)
+        self.assertRcodeEqual(res, dns.rcode.SERVFAIL)
+
 if __name__ == '__main__':
     unittest.main()
     exit(0)