Skip to content

Commit c4b1f07

Browse files
committed
Conftest autouse fixture count_servers
1 parent c99cdfe commit c4b1f07

7 files changed

+1286
-1221
lines changed

tests/conftest.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ def local_server():
348348
return local_servers[0]
349349

350350

351-
@pytest.fixture(autouse=False)
351+
@pytest.fixture(autouse=True)
352352
def count_servers(request):
353353
"""Count servers once we are finished."""
354354

@@ -358,5 +358,6 @@ def count_servers():
358358
if proc.name() == "Ans.Dpf.Grpc.exe":
359359
num_dpf_exe += 1
360360
warnings.warn(UserWarning(f"Number of servers running: {num_dpf_exe}"))
361+
assert num_dpf_exe == 1
361362

362363
request.addfinalizer(count_servers)

tests/test_launcher.py

+114-48
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import sys
88
import io
99
from ansys.dpf import core
10+
from conftest import SERVERS_VERSION_GREATER_THAN_OR_EQUAL_TO_4_0
1011

1112

1213
def test_start_local():
@@ -21,20 +22,30 @@ def test_start_local():
2122
assert starting_server == id(core.SERVER)
2223

2324

24-
server_configs = [
25-
core.AvailableServerConfigs.InProcessServer,
26-
core.AvailableServerConfigs.GrpcServer,
27-
core.AvailableServerConfigs.LegacyGrpcServer
28-
]
29-
30-
server_configs_names = ["InProcessServer",
31-
"GrpcServer",
32-
"LegacyGrpcServer",
33-
]
34-
35-
36-
@conftest.raises_for_servers_version_under("4.0")
37-
@pytest.mark.parametrize("server_config", server_configs, ids=server_configs_names, scope="class")
25+
server_configs = (
26+
[
27+
core.AvailableServerConfigs.InProcessServer,
28+
core.AvailableServerConfigs.GrpcServer,
29+
core.AvailableServerConfigs.LegacyGrpcServer,
30+
]
31+
if SERVERS_VERSION_GREATER_THAN_OR_EQUAL_TO_4_0
32+
else [core.AvailableServerConfigs.LegacyGrpcServer]
33+
)
34+
35+
server_configs_names = (
36+
[
37+
"InProcessServer",
38+
"GrpcServer",
39+
"LegacyGrpcServer",
40+
]
41+
if SERVERS_VERSION_GREATER_THAN_OR_EQUAL_TO_4_0
42+
else ["LegacyGrpcServer"]
43+
)
44+
45+
46+
@pytest.mark.parametrize(
47+
"server_config", server_configs, ids=server_configs_names, scope="class"
48+
)
3849
class TestServerConfigs:
3950
@pytest.fixture(scope="class", autouse=True)
4051
def cleanup(self, request):
@@ -45,51 +56,101 @@ def reset_server():
4556

4657
request.addfinalizer(reset_server)
4758

59+
@pytest.mark.skipif(
60+
not SERVERS_VERSION_GREATER_THAN_OR_EQUAL_TO_4_0,
61+
reason="Ans.Dpf.Grpc.bat and .sh need AWP_ROOT221 for 221 install",
62+
)
4863
def test_start_local_custom_ansys_path(self, server_config):
4964
path = os.environ["AWP_ROOT" + str(core._version.__ansys_version__)]
50-
os.unsetenv("AWP_ROOT" + str(core._version.__ansys_version__))
5165
try:
52-
server = core.start_local_server(ansys_path=path, use_docker_by_default=False,
53-
config=server_config, as_global=True)
66+
os.unsetenv("AWP_ROOT" + str(core._version.__ansys_version__))
67+
except:
68+
del os.environ["AWP_ROOT" + str(core._version.__ansys_version__)]
69+
try:
70+
server = core.start_local_server(
71+
ansys_path=path,
72+
use_docker_by_default=False,
73+
config=server_config,
74+
as_global=True,
75+
)
5476
assert isinstance(server.os, str)
5577
if server_config != core.AvailableServerConfigs.InProcessServer:
5678
p = psutil.Process(server.info["server_process_id"])
5779
assert path in p.cwd()
58-
os.environ["AWP_ROOT" + str(core._version.__ansys_version__)] = path
80+
os.environ[
81+
"AWP_ROOT" + str(core._version.__ansys_version__)
82+
] = path
5983
except Exception as e:
60-
os.environ["AWP_ROOT" + str(core._version.__ansys_version__)] = path
84+
os.environ[
85+
"AWP_ROOT" + str(core._version.__ansys_version__)
86+
] = path
6187
raise e
6288

6389
def test_start_local_no_ansys_path(self, server_config):
64-
server = core.start_local_server(use_docker_by_default=False,
65-
config=server_config, as_global=False)
90+
server = core.start_local_server(
91+
use_docker_by_default=False, config=server_config, as_global=False
92+
)
6693
assert isinstance(server.os, str)
6794
if server_config != core.AvailableServerConfigs.InProcessServer:
6895
p = psutil.Process(server.info["server_process_id"])
69-
assert os.environ["AWP_ROOT" + str(core._version.__ansys_version__)] in p.cwd()
70-
96+
for key in os.environ.keys():
97+
if "AWP_ROOT" in key:
98+
awp_root = key
99+
assert (
100+
os.environ[awp_root]
101+
in p.cwd()
102+
)
103+
104+
@pytest.mark.skipif(
105+
not SERVERS_VERSION_GREATER_THAN_OR_EQUAL_TO_4_0,
106+
reason="Ans.Dpf.Grpc.bat and .sh need AWP_ROOT221 for 221 install",
107+
)
71108
def test_start_local_ansys_path_environment_variable(self, server_config):
72-
awp_root = os.environ["AWP_ROOT" + str(core._version.__ansys_version__)]
109+
awp_root = os.environ[
110+
"AWP_ROOT" + str(core._version.__ansys_version__)
111+
]
73112
try:
74113
os.environ["ANSYS_DPF_PATH"] = awp_root
75-
os.unsetenv("AWP_ROOT" + str(core._version.__ansys_version__))
76-
server = core.start_local_server(use_docker_by_default=False,
77-
config=server_config)
114+
try:
115+
os.unsetenv("AWP_ROOT" + str(core._version.__ansys_version__))
116+
except:
117+
del os.environ[
118+
"AWP_ROOT" + str(core._version.__ansys_version__)
119+
]
120+
server = core.start_local_server(
121+
use_docker_by_default=False, config=server_config
122+
)
78123
assert isinstance(server.os, str)
79-
os.environ["AWP_ROOT" + str(core._version.__ansys_version__)] = awp_root
80-
os.unsetenv("ANSYS_DPF_PATH")
124+
os.environ[
125+
"AWP_ROOT" + str(core._version.__ansys_version__)
126+
] = awp_root
127+
try:
128+
os.unsetenv("ANSYS_DPF_PATH")
129+
except:
130+
del os.environ["ANSYS_DPF_PATH"]
81131

82132
except Exception as e:
83-
os.environ["AWP_ROOT" + str(core._version.__ansys_version__)] = awp_root
84-
os.unsetenv("ANSYS_DPF_PATH")
133+
os.environ[
134+
"AWP_ROOT" + str(core._version.__ansys_version__)
135+
] = awp_root
136+
try:
137+
os.unsetenv("ANSYS_DPF_PATH")
138+
except:
139+
del os.environ["ANSYS_DPF_PATH"]
85140
raise e
86141

87142
def test_start_local_wrong_ansys_path(self, server_config):
88143
if server_config != core.AvailableServerConfigs.InProcessServer:
144+
89145
def test_start_local_wrong_ansys_path(self, server_config):
90146
with pytest.raises(NotADirectoryError):
91-
core.start_local_server(ansys_path="test/", use_docker_by_default=False,
92-
config=server_config, as_global=False)
147+
core.start_local_server(
148+
ansys_path="test/",
149+
use_docker_by_default=False,
150+
config=server_config,
151+
as_global=False,
152+
)
153+
93154
# the test for in process should be done in another process because if dataProcessingCore
94155
# is already loaded, no error will be raised
95156
else:
@@ -100,34 +161,39 @@ def test_start_local_wrong_ansys_path(self, server_config):
100161
"from ansys.dpf import core\n"
101162
"try:\n"
102163
" core.start_local_server(ansys_path='test/', use_docker_by_default=False,"
103-
"config=core.server_factory.AvailableServerConfigs.InProcessServer, as_global=False)\n"
164+
"config=core.server_factory.AvailableServerConfigs.InProcessServer,\n"
165+
" as_global=False)\n"
104166
"except NotADirectoryError:\n"
105167
" exit()\n"
106-
"raise Exception('should have raised NotADirectoryError')\n"
107-
]
108-
, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
168+
"raise Exception('should have raised NotADirectoryError')\n",
169+
],
170+
stdout=subprocess.PIPE,
171+
stderr=subprocess.PIPE,
172+
)
109173
errors = ""
110174
for line in io.TextIOWrapper(process.stderr, encoding="utf-8"):
111175
errors += line
112-
if process.returncode != None:
176+
if process.returncode is not None:
113177
raise Exception(errors)
114178

115179

116180
def test_start_local_failed_executable():
117181
from ansys.dpf.core._version import __ansys_version__
118-
from ansys.dpf.core.server import find_ansys
182+
from ansys.dpf.core.misc import find_ansys
119183
from pathlib import Path
184+
120185
with pytest.raises(FileNotFoundError):
121-
path = Path(os.environ.get("AWP_ROOT" + __ansys_version__,
122-
find_ansys())).parent.absolute()
186+
path = Path(
187+
os.environ.get("AWP_ROOT" + __ansys_version__, find_ansys())
188+
).parent.absolute()
123189
core.start_local_server(ansys_path=path)
124190

125191

126192
def test_server_ip(server_type_remote_process):
127-
assert server_type_remote_process.ip != None
128-
assert server_type_remote_process.port != None
129-
assert server_type_remote_process.version != None
130-
assert server_type_remote_process.info["server_process_id"] != None
131-
assert server_type_remote_process.info["server_ip"] != None
132-
assert server_type_remote_process.info["server_port"] != None
133-
assert server_type_remote_process.info["server_version"] != None
193+
assert server_type_remote_process.ip is not None
194+
assert server_type_remote_process.port is not None
195+
assert server_type_remote_process.version is not None
196+
assert server_type_remote_process.info["server_process_id"] is not None
197+
assert server_type_remote_process.info["server_ip"] is not None
198+
assert server_type_remote_process.info["server_port"] is not None
199+
assert server_type_remote_process.info["server_version"] is not None

0 commit comments

Comments
 (0)