Skip to content

Commit 47af607

Browse files
fix: neqsim service fixture
1 parent a241784 commit 47af607

2 files changed

Lines changed: 16 additions & 7 deletions

File tree

src/ecalc_neqsim_wrapper/java_service.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,15 @@ def _start_server(maximum_memory: str = "4G") -> JavaGateway:
5050
class NeqsimService:
5151
def __init__(self, maximum_memory: str = "4G"):
5252
global _neqsim_service
53-
self._gateway = _start_server(maximum_memory=maximum_memory)
54-
_logger.info(
55-
f"Started neqsim process with PID '{self._gateway.java_process.pid}' on port '{self._gateway.gateway_parameters.port}'"
56-
)
57-
_neqsim_service = self
53+
if _neqsim_service is None:
54+
self._gateway = _start_server(maximum_memory=maximum_memory)
55+
_logger.info(
56+
f"Started neqsim process with PID '{self._gateway.java_process.pid}' "
57+
f"on port '{self._gateway.gateway_parameters.port}'"
58+
)
59+
_neqsim_service = self
60+
else:
61+
self._gateway = _neqsim_service._gateway
5862

5963
def __enter__(self):
6064
return self

tests/conftest.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -328,8 +328,13 @@ def expression_evaluator_factory() -> ExpressionEvaluatorBuilder:
328328
return ExpressionEvaluatorBuilder()
329329

330330

331-
@pytest.fixture(scope="session", autouse=True)
331+
@pytest.fixture(scope="function", autouse=True)
332332
def with_neqsim_service():
333333
neqsim_service = NeqsimService()
334334
yield neqsim_service
335-
neqsim_service.shutdown()
335+
336+
337+
@pytest.fixture(scope="session", autouse=True)
338+
def shutdown_neqsim_service():
339+
yield None
340+
NeqsimService().shutdown()

0 commit comments

Comments
 (0)