Skip to content

Commit 2ed7231

Browse files
authored
use directly buildModelFMU() for FMI_Regression tests (#191)
1 parent c345df3 commit 2ed7231

1 file changed

Lines changed: 30 additions & 17 deletions

File tree

tests/test_FMIRegression.py

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,45 +9,58 @@
99
"""
1010
class Test_FMIRegression:
1111

12-
def checkModel(self, modelName):
13-
mod = OMPython.ModelicaSystem(modelName=modelName)
12+
def buildModelFMU(self, modelName):
13+
omc = OMPython.OMCSessionZMQ()
14+
15+
## create a temp dir for each session
16+
tempdir = tempfile.mkdtemp()
17+
if not os.path.exists(tempdir):
18+
return print(tempdir, " cannot be created")
19+
20+
tempdirExp="".join(["cd(","\"",tempdir,"\"",")"]).replace("\\","/")
21+
omc.sendExpression(tempdirExp)
22+
23+
omc.sendExpression("loadModel(Modelica)")
24+
omc.sendExpression("getErrorString()")
25+
1426
fileNamePrefix = modelName.split(".")[-1]
15-
fmu = mod.convertMo2Fmu(fileNamePrefix=fileNamePrefix)
27+
exp = "buildModelFMU(" + modelName + ", fileNamePrefix=\"" + fileNamePrefix + "\"" + ")"
28+
29+
fmu = omc.sendExpression(exp)
1630
assert True == os.path.exists(fmu)
17-
shutil.rmtree(mod.getWorkDirectory(), ignore_errors=True)
18-
mod.__del__()
1931

32+
omc.__del__()
33+
shutil.rmtree(tempdir, ignore_errors= True)
2034

2135
def test_Modelica_Blocks_Examples_Filter(self):
22-
self.checkModel("Modelica.Blocks.Examples.Filter")
36+
self.buildModelFMU("Modelica.Blocks.Examples.Filter")
2337

2438
def test_Modelica_Blocks_Examples_RealNetwork1(self):
25-
self.checkModel("Modelica.Blocks.Examples.RealNetwork1")
39+
self.buildModelFMU("Modelica.Blocks.Examples.RealNetwork1")
2640

2741
def test_Modelica_Electrical_Analog_Examples_CauerLowPassAnalog(self):
28-
self.checkModel("Modelica.Electrical.Analog.Examples.CauerLowPassAnalog")
42+
self.buildModelFMU("Modelica.Electrical.Analog.Examples.CauerLowPassAnalog")
2943

3044
def test_Modelica_Electrical_Digital_Examples_FlipFlop(self):
31-
self.checkModel("Modelica.Electrical.Digital.Examples.FlipFlop")
45+
self.buildModelFMU("Modelica.Electrical.Digital.Examples.FlipFlop")
3246

3347
def test_Modelica_Mechanics_Rotational_Examples_FirstGrounded(self):
34-
self.checkModel("Modelica.Mechanics.Rotational.Examples.FirstGrounded")
48+
self.buildModelFMU("Modelica.Mechanics.Rotational.Examples.FirstGrounded")
3549

3650
def test_Modelica_Mechanics_Rotational_Examples_CoupledClutches(self):
37-
self.checkModel("Modelica.Mechanics.Rotational.Examples.CoupledClutches")
51+
self.buildModelFMU("Modelica.Mechanics.Rotational.Examples.CoupledClutches")
3852

3953
def test_Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum(self):
40-
self.checkModel("Modelica.Mechanics.MultiBody.Examples.Elementary.DoublePendulum")
54+
self.buildModelFMU("Modelica.Mechanics.MultiBody.Examples.Elementary.DoublePendulum")
4155

4256
def test_Modelica_Mechanics_MultiBody_Examples_Elementary_FreeBody(self):
43-
self.checkModel("Modelica.Mechanics.MultiBody.Examples.Elementary.FreeBody")
57+
self.buildModelFMU("Modelica.Mechanics.MultiBody.Examples.Elementary.FreeBody")
4458

4559
def test_Modelica_Fluid_Examples_PumpingSystem(self):
46-
self.checkModel("Modelica.Fluid.Examples.PumpingSystem")
60+
self.buildModelFMU("Modelica.Fluid.Examples.PumpingSystem")
4761

4862
def test_Modelica_Fluid_Examples_TraceSubstances_RoomCO2WithControls(self):
49-
self.checkModel("Modelica.Fluid.Examples.TraceSubstances.RoomCO2WithControls")
63+
self.buildModelFMU("Modelica.Fluid.Examples.TraceSubstances.RoomCO2WithControls")
5064

5165
def test_Modelica_Clocked_Examples_SimpleControlledDrive_ClockedWithDiscreteTextbookController(self):
52-
self.checkModel("Modelica.Clocked.Examples.SimpleControlledDrive.ClockedWithDiscreteTextbookController")
53-
66+
self.buildModelFMU("Modelica.Clocked.Examples.SimpleControlledDrive.ClockedWithDiscreteTextbookController")

0 commit comments

Comments
 (0)