diff --git a/cis_interface/drivers/MatlabModelDriver.py b/cis_interface/drivers/MatlabModelDriver.py index fe8424ee8..08e100bbd 100755 --- a/cis_interface/drivers/MatlabModelDriver.py +++ b/cis_interface/drivers/MatlabModelDriver.py @@ -11,7 +11,7 @@ + "Matlab support will be disabled.") _matlab_installed = False from cis_interface.drivers.ModelDriver import ModelDriver -from cis_interface import backwards, tools +from cis_interface import backwards, tools, platform from cis_interface.tools import TimeOut, sleep from cis_interface.schema import register_component @@ -23,7 +23,10 @@ def kill_all(): r"""Kill all Matlab shared engines.""" - os.system(('pkill -f matlab.engine.shareEngine')) + if platform._is_win: # pragma: windows + os.system(('taskkill /F /IM matlab.engine.shareEngine /T')) + else: + os.system(('pkill -f matlab.engine.shareEngine')) def is_matlab_running(): @@ -119,7 +122,7 @@ def start_matlab(skip_connect=False): # pragma: matlab return screen_session, matlab_engine, new_matlab -def connect_matlab(matlab_session, first_connect=False): +def connect_matlab(matlab_session, first_connect=False): # pragma: matlab r"""Connect to Matlab engine. Args: diff --git a/cis_interface/drivers/tests/test_MatlabModelDriver.py b/cis_interface/drivers/tests/test_MatlabModelDriver.py index b6d4e0a22..19760b3e6 100644 --- a/cis_interface/drivers/tests/test_MatlabModelDriver.py +++ b/cis_interface/drivers/tests/test_MatlabModelDriver.py @@ -14,6 +14,8 @@ def test_is_matlab_running(): r"""Test if there is Matlab engine running.""" MatlabModelDriver.is_matlab_running() + MatlabModelDriver.kill_all() + assert(not MatlabModelDriver.is_matlab_running()) @unittest.skipIf(MatlabModelDriver._matlab_installed, "Matlab installed.")