return CmdResult(exc)
+class EnvCmd:
+ """Helper for executing binaries from env with optional base parameters."""
+
+ def __init__(self, name: str, base_params: str = ""):
+ self.bin_path = os.environ[name]
+ self.base_params = base_params.split()
+
+ def __call__(self, params: str, **kwargs) -> CmdResult:
+ """Call the command. Keyword arguments from isctest.run.cmd() are supported."""
+ args = self.base_params + params.split()
+ return cmd([self.bin_path] + args, **kwargs)
+
+
def _run_script(
interpreter: str,
script: str,
isctest.log.debug(" exited with %d", returncode)
-class Dig:
- def __init__(self, base_params: str = ""):
- self.base_params = base_params
-
- def __call__(self, params: str) -> CmdResult:
- """Run the dig command with the given parameters."""
- return cmd(
- [os.environ.get("DIG")] + f"{self.base_params} {params}".split(),
- )
-
-
def shell(script: str, args: Optional[List[str]] = None) -> None:
"""Run a given script with system's shell interpreter."""
_run_script(os.environ["SHELL"], script, args)
options_received = line.split()[0]
return int(options_received)
- dig = isctest.run.Dig(f"-p {str(named_port)}")
+ dig = isctest.run.EnvCmd("DIG", f"-p {str(named_port)}")
isctest.log.info("check that dig handles TCP keepalive in query")
assert "; TCP-KEEPALIVE" in dig("+qr +keepalive foo.example. @10.53.0.2").out