]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
packaging tests: kresctl changing number of workers
authorVasek Sraier <git@vakabus.cz>
Mon, 22 Aug 2022 21:52:13 +0000 (23:52 +0200)
committerAleš Mrázek <ales.mrazek@nic.cz>
Thu, 25 Aug 2022 12:21:05 +0000 (14:21 +0200)
manager/knot_resolver_manager/cli/__init__.py
manager/tests/packaging/interactive/workers.sh [new file with mode: 0755]

index 3355a3334509ab1ae53e9eb38bcfa96eca697e44..598f09b59db7f5fd78467a4129853771f30bb96c 100644 (file)
@@ -2,14 +2,21 @@ import argparse
 import importlib
 import pkgutil
 from abc import ABC, abstractmethod
+from pathlib import Path
 from typing import List, Optional, Tuple, Type, TypeVar, cast
+from urllib.parse import quote
 
 from typing_extensions import Protocol
 
 
 class TopLevelArgs:
     def __init__(self, ns: argparse.Namespace, parser: argparse.ArgumentParser) -> None:
-        self.socket: str = ns.socket
+        self.socket: str = ns.socket[0]
+        if Path(self.socket).exists():
+            self.socket = f'http+unix://{quote(self.socket, safe="")}/'
+        if self.socket.endswith("/"):
+            self.socket = self.socket[:-1]
+
         self.command: Type["Command"] = ns.first_level_command
         self.parser = parser
         self.namespace = ns
@@ -58,7 +65,7 @@ def create_main_arg_parser() -> argparse.ArgumentParser:
         action="store",
         type=str,
         help="manager API listen address",
-        default="http+unix://%2Fvar%2Frun%2Fknot-resolver%2Fmanager.sock",  # FIXME
+        default=["http+unix://%2Fvar%2Frun%2Fknot-resolver%2Fmanager.sock"],  # FIXME
         nargs=1,
         required=False,
     )
diff --git a/manager/tests/packaging/interactive/workers.sh b/manager/tests/packaging/interactive/workers.sh
new file mode 100755 (executable)
index 0000000..a0e7fd2
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+set -e
+
+kresctl config /workers 5
+
+test "$(ps -a -x | grep kresd | grep -v grep | wc -l)" -eq 5