From fdcf3952ea5b61d771bf07a20541c078e793d18f Mon Sep 17 00:00:00 2001 From: Harshal Pohekar Date: Mon, 29 Aug 2022 20:52:01 +0530 Subject: [PATCH 1/2] Replaced python sdk usage with docker cli --- tests/test_fluent_session.py | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/tests/test_fluent_session.py b/tests/test_fluent_session.py index 0ff9fb49f63c..e55e4371ff43 100644 --- a/tests/test_fluent_session.py +++ b/tests/test_fluent_session.py @@ -1,4 +1,5 @@ import os +import subprocess import time import psutil @@ -10,7 +11,6 @@ import ansys.fluent.core as pyfluent from ansys.fluent.core.examples import download_file from ansys.fluent.core.session import _FluentConnection -import docker def _read_case(session): @@ -54,18 +54,27 @@ def print_transcript(transcript): assert not print_transcript.called +def get_container_ids_set(): + proc = subprocess.Popen(["docker", "ps", "-q"], stdout=subprocess.PIPE) + output_bytes = proc.stdout.read() + output_str = output_bytes.decode() + output_split = output_str.split(" ") + output_split_at_n = output_str.split("\n") + del output_split_at_n[-1] + return set(output_split_at_n) + + def test_server_exits_when_session_goes_out_of_scope(with_launching_container) -> None: def f(): session = pyfluent.launch_fluent(mode="solver") f.server_pid = session.scheme_eval.scheme_eval("(%cx-process-id)") if os.getenv("PYFLUENT_START_INSTANCE") == "0": - client = docker.from_env() - containers_before = client.containers.list() + containers_before = get_container_ids_set() f() time.sleep(10) - containers_after = client.containers.list() - new_containers = set(containers_after) - set(containers_before) + containers_after = get_container_ids_set() + new_containers = containers_after - containers_before assert not new_containers else: f() @@ -81,15 +90,14 @@ def f(): f.server_pid = session.scheme_eval.scheme_eval("(%cx-process-id)") if os.getenv("PYFLUENT_START_INSTANCE") == "0": - client = docker.from_env() - containers_before = client.containers.list() + containers_before = get_container_ids_set() f() time.sleep(10) - containers_after = client.containers.list() - new_containers = set(containers_after) - set(containers_before) + containers_after = get_container_ids_set() + new_containers = containers_after - containers_before assert new_containers for container in new_containers: - container.stop() + subprocess.Popen(["docker", "stop", container]) else: f() time.sleep(10) From aaf87bd9fe01141d55ecd09c5bcd55894179ac74 Mon Sep 17 00:00:00 2001 From: Harshal Pohekar Date: Tue, 30 Aug 2022 10:20:53 +0530 Subject: [PATCH 2/2] Removed docker requirement and updated get ids function --- requirements/requirements_tests.txt | 3 +-- tests/test_fluent_session.py | 6 ++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/requirements/requirements_tests.txt b/requirements/requirements_tests.txt index 2b953226d8f2..afc4dd0fb03d 100644 --- a/requirements/requirements_tests.txt +++ b/requirements/requirements_tests.txt @@ -1,5 +1,4 @@ pytest pytest-mock pytest-cov -psutil>=5.9.1 -docker>=5.0.3 \ No newline at end of file +psutil>=5.9.1 \ No newline at end of file diff --git a/tests/test_fluent_session.py b/tests/test_fluent_session.py index e55e4371ff43..a9d2cca0c261 100644 --- a/tests/test_fluent_session.py +++ b/tests/test_fluent_session.py @@ -58,10 +58,8 @@ def get_container_ids_set(): proc = subprocess.Popen(["docker", "ps", "-q"], stdout=subprocess.PIPE) output_bytes = proc.stdout.read() output_str = output_bytes.decode() - output_split = output_str.split(" ") - output_split_at_n = output_str.split("\n") - del output_split_at_n[-1] - return set(output_split_at_n) + ids = output_str.strip().split() + return set(ids) def test_server_exits_when_session_goes_out_of_scope(with_launching_container) -> None: