1313from multiprocessing import Pool
1414import time
1515
16-
1716parser = argparse .ArgumentParser (description = 'OpenModelica library testing tool' )
1817parser .add_argument ('libdir' , nargs = 1 )
1918parser .add_argument ('--diff' , action = "store_true" )
3332os .mkdir ("converted-libraries/.openmodelica" )
3433os .mkdir ("converted-libraries/.openmodelica/libraries" )
3534
36- def omcAssert (omc : OMCSessionZMQ , cmd : str , extra : str = "" ):
37- res = omc .sendExpression (cmd )
38- if not res :
39- raise Exception (cmd + "\n " + extra + "\n " + (omc .sendExpression ("getErrorString()" ) or "" ))
40-
41- def omcSendExpression (omc : OMCSessionZMQ , cmd : str , extra : str = "" ):
42- try :
43- return omc .sendExpression (cmd )
44- except pyparsing .ParseException as e :
45- raise Exception (str (e ) + "\n " + cmd + "\n " + extra + "\n " + (omc .sendExpression ("getErrorString()" ) or "" ))
46-
4735mslPath = "%s/Modelica 4.0.0+maint.om/" % libdir
4836with open ("%s/openmodelica.metadata.json" % mslPath ) as f :
4937 mslData = json .load (f )
@@ -84,7 +72,7 @@ def convertPackage(p):
8472 print ("Start working on %s" % libnameOnFile )
8573 omc = OMCSessionZMQ ()
8674 libnameOnFileFullPath = "converted-libraries/.openmodelica/libraries/%s/package.mo" % libnameOnFile
87- omcAssert ( omc , 'loadFile("%s", uses=false)' % libnameOnFileFullPath )
75+ omc . sendExpression ( 'loadFile("%s", uses=false)' % libnameOnFileFullPath )
8876 errString = omc .sendExpression ("getErrorString()" )
8977 if errString :
9078 print (errString )
@@ -93,12 +81,12 @@ def convertPackage(p):
9381 raise Exception ("Expected to have loaded %s but got %s" % (libnameOnFileFullPath , loadedFilePath ))
9482 gcProfStatsBeforeConversion = omc .sendExpression ("GC_get_prof_stats()" )
9583 timeBeforeConvert = time .time ()
96- omcAssert ( omc , 'runConversionScript(%s, "%s")' % (libname , conversionScript ))
84+ omc . sendExpression ( 'runConversionScript(%s, "%s")' % (libname , conversionScript ))
9785 print ("runConversionScript(%s, %s) OK" % (libnameOnFile , conversionScript ))
9886 uses = data ["uses" ]
9987 for (n ,v ) in data ["uses" ].items ():
10088 if n in ["Modelica" , "ModelicaServices" , "Complex" ]:
101- omcAssert ( omc , 'addClassAnnotation(%s, annotate=$annotation(uses(%s(version="4.0.0"))))' % (libname , n ))
89+ omc . sendExpression ( 'addClassAnnotation(%s, annotate=$annotation(uses(%s(version="4.0.0"))))' % (libname , n ))
10290 data ["uses" ][n ] = "4.0.0"
10391 names = omc .sendExpression ('getClassNames(%s, sort=true, recursive=true)' % libname )
10492 names = list (names )
@@ -150,7 +138,7 @@ def convertPackage(p):
150138 print (errStr )
151139 raise Exception ('--allowErrorsInDiff is not active:\n echo(false);before:=readFile("%s");\n after:=readFile("%s");echo(true);\n diffModelicaFileListings(before, after, OpenModelica.Scripting.DiffFormat.plain, failOnSemanticsChange=true);\n getErrorString();' % (oldFile , newFile ))
152140 else :
153- omcAssert ( omc , 'writeFile("%s", res)' % (newFile ))
141+ omc . sendExpression ( 'writeFile("%s", res)' % (newFile ))
154142 isDiff = before != res
155143 if before != res :
156144 nDiff += 1
0 commit comments