Commit c6110a56e5 for bind
commit c6110a56e5490facb2c3506f250d8a314e59a1d0
Author: Štěpán Balážik <stepan@isc.org>
Date: Tue Sep 8 19:36:19 2026 +0200
Take the wrapped handler's matcher in the wrappers
A wrapper answers what the handler it wraps answers, which was
previously done by forwarding match().
Assisted-by: Claude:claude-fable-5
diff --git a/bin/tests/system/isctest/asyncserver/handlers.py b/bin/tests/system/isctest/asyncserver/handlers.py
index 87dfd88c0f..72efb287fd 100644
--- a/bin/tests/system/isctest/asyncserver/handlers.py
+++ b/bin/tests/system/isctest/asyncserver/handlers.py
@@ -142,7 +142,7 @@ class ConnectionReset(ConnectionHandler):
class ResponseHandlerWrapper(ResponseHandler, abc.ABC):
"""
Base class for handlers that wrap another handler and modify each response
- it yields. `match()` and the response stream are delegated to the wrapped
+ it yields. The matcher and the response stream are those of the wrapped
`inner` handler; subclasses implement `_modify_response()` to mutate each
yielded action in place, and may override `_on_query_received()` to reset
per-query state.
@@ -150,9 +150,7 @@ class ResponseHandlerWrapper(ResponseHandler, abc.ABC):
def __init__(self, inner: ResponseHandler) -> None:
self._inner = inner
-
- def match(self, qctx: QueryContext) -> bool:
- return self._inner.match(qctx)
+ self.matcher = inner.matcher
def _on_query_received(self, qctx: QueryContext) -> None:
pass
diff --git a/bin/tests/system/serve_stale/ans9/ans.py b/bin/tests/system/serve_stale/ans9/ans.py
index 7d7c3b0c50..e61e6930d9 100644
--- a/bin/tests/system/serve_stale/ans9/ans.py
+++ b/bin/tests/system/serve_stale/ans9/ans.py
@@ -85,9 +85,7 @@ class SerializedHandler(ResponseHandler):
self._inner = inner
self._lock = lock
super().__init__()
-
- def match(self, qctx: QueryContext) -> bool:
- return self._inner.match(qctx)
+ self.matcher = inner.matcher
async def get_responses(
self, qctx: QueryContext