From 479ba3c0644d27a352346f2dc1bd1c17c62b71c9 Mon Sep 17 00:00:00 2001 From: Pierrick HYMBERT Date: Sun, 10 Mar 2024 09:23:45 +0100 Subject: [PATCH] server: tests: server kill, if pid exists --- examples/server/tests/features/environment.py | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/examples/server/tests/features/environment.py b/examples/server/tests/features/environment.py index bfc3ea43c..ff474fc8d 100644 --- a/examples/server/tests/features/environment.py +++ b/examples/server/tests/features/environment.py @@ -40,7 +40,7 @@ def after_scenario(context, scenario): time.sleep(0.05) attempts = 0 - while is_server_listening(context.server_fqdn, context.server_port): + while pid_exists(context.server_process.pid) or is_server_listening(context.server_fqdn, context.server_port): server_kill(context) time.sleep(0.1) attempts += 1 @@ -66,22 +66,21 @@ def server_kill_hard(context): path = context.server_path print(f"Server dangling exits, hard killing force {pid}={path}...\n") - os.kill(-pid, signal.SIGKILL) - # if os.name == 'nt': - # process = subprocess.run(['taskkill', '/F', '/pid', str(pid)], - # stderr=subprocess.PIPE) - # else: - # print(f"Server dangling exits, killing all {path} ...\n") - # process = subprocess.run(['killall', '-9', path], - # stderr=subprocess.PIPE) - # print(process) + if os.name == 'nt': + process = subprocess.run(['taskkill', '/F', '/pid', str(pid)], + stderr=subprocess.PIPE) + print(process) + else: + os.kill(-pid, signal.SIGKILL) def is_server_listening(server_fqdn, server_port): - print(f"is server listening on {server_fqdn}:{server_port}...\n") with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock: result = sock.connect_ex((server_fqdn, server_port)) - return result == 0 + _is_server_listening = result == 0 + if _is_server_listening: + print(f"server is listening on {server_fqdn}:{server_port}...\n") + return _is_server_listening def pid_exists(pid):