From e7f842d3aec7a7aaeea9fb0e6f5f6210dd40cf7b Mon Sep 17 00:00:00 2001 From: jerray <jawher.jerray@eurecom.fr> Date: Mon, 13 Nov 2023 13:19:05 +0100 Subject: [PATCH] update pattern handling test --- .../test/java/cli/CLIPatternHandlingTest.java | 70 ++++++++++++++----- .../configurate-tmr-for-modelWithOneSensor | 4 +- .../configurate-tmr-for-modelWithThreeSensors | 4 +- .../modelWithOneSensorIntegTMR.tarchi | 22 ++---- .../expected/modelWithOneSensorIntegTMR.tmap | 56 ++++++--------- .../expected/modelWithOneSensorIntegTMR.tml | 2 +- .../modelWithThreeSensorsIntegTMR.tmap | 20 +++--- .../modelWithThreeSensorsIntegTMR.tml | 4 +- 8 files changed, 100 insertions(+), 82 deletions(-) diff --git a/ttool/src/test/java/cli/CLIPatternHandlingTest.java b/ttool/src/test/java/cli/CLIPatternHandlingTest.java index 664293e232..d841708b38 100644 --- a/ttool/src/test/java/cli/CLIPatternHandlingTest.java +++ b/ttool/src/test/java/cli/CLIPatternHandlingTest.java @@ -63,6 +63,11 @@ import myutil.TraceManager; import org.junit.Test; import test.AbstractTest; import tmltranslator.compareTMLTest.CompareTML; +import tmltranslator.compareTMLTest.CompareTMAP; +import tmltranslator.TMLMapping; +import tmltranslator.TMLMappingTextSpecification; +import tmltranslator.TMLSyntaxChecking; +import tmltranslator.TMLError; public class CLIPatternHandlingTest extends AbstractTest implements InterpreterOutputInterface { @@ -88,25 +93,23 @@ public class CLIPatternHandlingTest extends AbstractTest implements InterpreterO } public void exit(int reason) { - System.out.println("Exit reason=" + reason); + TraceManager.addDev("Exit reason=" + reason); assertTrue(reason == 0); } public void printError(String error) { - System.out.println("Error=" + error); + TraceManager.addDev("Error=" + error); } public void print(String s) { - System.out.println("info from interpreter:" + s); + TraceManager.addDev("info from interpreter:" + s); outputResult.append(s); } @Test public void testIntegratingTMR() throws Exception { - System.out.println("getBaseResourcesDir:> " + getBaseResourcesDir()); String filePathCreateTMR = getBaseResourcesDir() + PATH_PATTERNS[0] + PATH_CLI_TO_CREATE_PATTERNS[0]; String script; - System.out.println("filePathCreateTMR:> " + filePathCreateTMR); outputResult = new StringBuilder(); File f = new File(filePathCreateTMR); @@ -131,7 +134,6 @@ public class CLIPatternHandlingTest extends AbstractTest implements InterpreterO Interpreter interpretConfigModel = new Interpreter(scriptConfig, (InterpreterOutputInterface)this, false); interpretConfigModel.interpret(); - String filePathApplyToModel = getBaseResourcesDir() + PATH_PATTERNS[0] + PATH_CLI_TO_APPLY_TMR_IN_MODELS[i]; String scriptApplyToModel; outputResult = new StringBuilder(); @@ -143,17 +145,51 @@ public class CLIPatternHandlingTest extends AbstractTest implements InterpreterO interpretApplyToModel.interpret(); String filePathObtainedTmap = OBTAINED_MODELS_PATH + OBTAINED_MODELS_AFTER_INTEGRATING_TMR_TMAP[i]; + String folderPathObtainedTmap = filePathObtainedTmap.substring(0, filePathObtainedTmap.lastIndexOf("/")+1); + String fileName = filePathObtainedTmap.split("/")[filePathObtainedTmap.split("/").length -1]; + String modelName = fileName.split("\\.")[0]; File fObtainedTmap = new File(filePathObtainedTmap); assertTrue(myutil.FileUtils.checkFileForOpen(fObtainedTmap)); - String obtainedOutputTmap = myutil.FileUtils.loadFileData(fObtainedTmap); + + TMLMappingTextSpecification tmts = new TMLMappingTextSpecification(modelName); + TraceManager.addDev("Loading file: " + fObtainedTmap.getAbsolutePath()); + String obtainedOutputTmap = null; + try { + obtainedOutputTmap = myutil.FileUtils.loadFileData(fObtainedTmap); + } catch (Exception e) { + TraceManager.addDev("Exception executing: loading " + modelName); + assertTrue(false); + } + TraceManager.addDev("Testing spec " + modelName); + assertTrue(obtainedOutputTmap != null); + TraceManager.addDev("Going to parse " + modelName); + boolean parsed = tmts.makeTMLMapping(obtainedOutputTmap, folderPathObtainedTmap); + assertTrue(parsed); + + TraceManager.addDev("Checking syntax " + modelName); + // Checking syntax + TMLMapping tmap = tmts.getTMLMapping(); + + TMLSyntaxChecking syntax = new TMLSyntaxChecking(tmap); + syntax.checkSyntax(); + + if (syntax.hasErrors() > 0) { + for (TMLError error: syntax.getErrors()) { + TraceManager.addDev("Error: " + error.toString()); + } + + } + assertTrue(syntax.hasErrors() == 0); + + String filePathExpectedTmap = getBaseResourcesDir() + PATH_PATTERNS[0] + EXPECTED_MODELS_AFTER_INTEGRATING_TMR_TMAP[i]; File fExpectedTmap = new File(filePathExpectedTmap); assertTrue(myutil.FileUtils.checkFileForOpen(fExpectedTmap)); String expectedOutputTmap = myutil.FileUtils.loadFileData(fExpectedTmap); - //System.out.println("\nExpected:>" + expectedOutputTmap + "<"); - //System.out.println("\nObtained:>" + obtainedOutputTmap + "<"); - CompareTML ctmap = new CompareTML(); - assertTrue("comparing between 2 TMAP files", ctmap.compareTML(fObtainedTmap, fExpectedTmap)); + //TraceManager.addDev("\nExpected:>" + expectedOutputTmap + "<"); + //TraceManager.addDev("\nObtained:>" + obtainedOutputTmap + "<"); + CompareTMAP ctmap = new CompareTMAP(); + assertTrue("comparing between 2 TMAP files", ctmap.CompareTMAPFiles(fObtainedTmap, fExpectedTmap)); String filePathObtainedTarchi = OBTAINED_MODELS_PATH + OBTAINED_MODELS_AFTER_INTEGRATING_TMR_TARCHI[i]; @@ -164,10 +200,10 @@ public class CLIPatternHandlingTest extends AbstractTest implements InterpreterO File fExpectedTarchi = new File(filePathExpectedTarchi); assertTrue(myutil.FileUtils.checkFileForOpen(fExpectedTarchi)); String expectedOutputTarchi = myutil.FileUtils.loadFileData(fExpectedTarchi); - CompareTML ctarchi = new CompareTML(); - assertTrue("comparing between 2 Tarchi files", ctarchi.compareTML(fObtainedTarchi, fExpectedTarchi)); - //System.out.println("\nExpected Tarchi:>" + expectedOutputTarchi + "<"); - //System.out.println("\nObtained Tarchi:>" + obtainedOutputTarchi + "<"); + CompareTMAP ctarchi = new CompareTMAP(); + assertTrue("comparing between 2 Tarchi files", ctarchi.CompareTMAPFiles(fObtainedTarchi, fExpectedTarchi)); + //TraceManager.addDev("\nExpected Tarchi:>" + expectedOutputTarchi + "<"); + //TraceManager.addDev("\nObtained Tarchi:>" + obtainedOutputTarchi + "<"); String filePathObtainedTML = OBTAINED_MODELS_PATH + OBTAINED_MODELS_AFTER_INTEGRATING_TMR_TML[i]; File fObtainedTML = new File(filePathObtainedTML); @@ -179,8 +215,8 @@ public class CLIPatternHandlingTest extends AbstractTest implements InterpreterO String expectedOutputTML = myutil.FileUtils.loadFileData(fExpectedTML); CompareTML ctml = new CompareTML(); assertTrue("comparing between 2 TML files", ctml.compareTML(fObtainedTML, fExpectedTML)); - //System.out.println("\nExpected TML:>" + expectedOutputTML + "<"); - //System.out.println("\nObtained TML:>" + obtainedOutputTML + "<"); + //TraceManager.addDev("\nExpected TML:>" + expectedOutputTML + "<"); + //TraceManager.addDev("\nObtained TML:>" + obtainedOutputTML + "<"); } } diff --git a/ttool/src/test/resources/cli/testPatternHandling/tmr/cli/configurate-tmr-for-modelWithOneSensor b/ttool/src/test/resources/cli/testPatternHandling/tmr/cli/configurate-tmr-for-modelWithOneSensor index 502e5ff8d3..3f0a43c535 100644 --- a/ttool/src/test/resources/cli/testPatternHandling/tmr/cli/configurate-tmr-for-modelWithOneSensor +++ b/ttool/src/test/resources/cli/testPatternHandling/tmr/cli/configurate-tmr-for-modelWithOneSensor @@ -22,8 +22,8 @@ pa sc -tctl pa sc -tcn SensorClone1 BusEnvironment pa sc -tcm SensorClone2 SensorClone1 pa sc -tcn Voter MainBus -pa sc -mcm InterpreterA.resA Sensor.sensorData -pa sc -mcn Voter.resultData BusReceiver +pa sc -mcn SensorClone1.sensorData BusReceiver +pa sc -mcm InterpreterA.resA SensorClone1.sensorData pa sc -mctl pa sc -ua Timer dataReceivingTimeout 1000 pa sc -m resources/test/cli/testPatternHandling/tmr/modelWithOneSensor-config.json diff --git a/ttool/src/test/resources/cli/testPatternHandling/tmr/cli/configurate-tmr-for-modelWithThreeSensors b/ttool/src/test/resources/cli/testPatternHandling/tmr/cli/configurate-tmr-for-modelWithThreeSensors index d4140b0f5e..dec9cdaa64 100644 --- a/ttool/src/test/resources/cli/testPatternHandling/tmr/cli/configurate-tmr-for-modelWithThreeSensors +++ b/ttool/src/test/resources/cli/testPatternHandling/tmr/cli/configurate-tmr-for-modelWithThreeSensors @@ -7,10 +7,10 @@ pa sc -pl InterpreterC.dataC pa sc -co InterpreterA.dataA Sensor1.sensorData1 pa sc -co InterpreterB.dataB Sensor2.sensorData2 pa sc -co InterpreterC.dataC Sensor3.sensorData3 -pa sc -co Voter.resultData Receiver.sensorData1 NEW +pa sc -co Voter.resultData Receiver.sensorData1 pa sc -co Voter.moveto_FAIL_SAFE Receiver.sensorData1 NEW pa sc -cpd ALL -pa sc -tcm InterpreterA Sensor1 pa sc -tcn InterpreterB MainBus +pa sc -tcm InterpreterA InterpreterB pa sc -ua Timer dataReceivingTimeout 500 pa sc -m resources/test/cli/testPatternHandling/tmr/modelWithThreeSensors-config.json diff --git a/ttool/src/test/resources/cli/testPatternHandling/tmr/expected/modelWithOneSensorIntegTMR.tarchi b/ttool/src/test/resources/cli/testPatternHandling/tmr/expected/modelWithOneSensorIntegTMR.tarchi index 72fd7a863b..17c6c92387 100644 --- a/ttool/src/test/resources/cli/testPatternHandling/tmr/expected/modelWithOneSensorIntegTMR.tarchi +++ b/ttool/src/test/resources/cli/testPatternHandling/tmr/expected/modelWithOneSensorIntegTMR.tarchi @@ -138,13 +138,9 @@ SET CPU_Voter execiTime 1 SET CPU_Voter execcTime 1 SET CPU_Voter clockDivider 1 -NODE MEMORY Memory_resultData -SET Memory_resultData byteDataSize 4 -SET Memory_resultData clockDivider 1 - -NODE MEMORY MemoryB -SET MemoryB byteDataSize 4 -SET MemoryB clockDivider 1 +NODE MEMORY Memory_sensorData +SET Memory_sensorData byteDataSize 4 +SET Memory_sensorData clockDivider 1 NODE MEMORY MemoryC SET MemoryC byteDataSize 4 @@ -214,14 +210,10 @@ NODE LINK link_CPU_Voter_to_MainBus SET link_CPU_Voter_to_MainBus node CPU_Voter SET link_CPU_Voter_to_MainBus bus MainBus SET link_CPU_Voter_to_MainBus priority 0 -NODE LINK link_Memory_resultData_to_BusReceiver -SET link_Memory_resultData_to_BusReceiver node Memory_resultData -SET link_Memory_resultData_to_BusReceiver bus BusReceiver -SET link_Memory_resultData_to_BusReceiver priority 0 -NODE LINK link_MemoryB_to_MainBus -SET link_MemoryB_to_MainBus node MemoryB -SET link_MemoryB_to_MainBus bus MainBus -SET link_MemoryB_to_MainBus priority 0 +NODE LINK link_Memory_sensorData_to_BusReceiver +SET link_Memory_sensorData_to_BusReceiver node Memory_sensorData +SET link_Memory_sensorData_to_BusReceiver bus BusReceiver +SET link_Memory_sensorData_to_BusReceiver priority 0 NODE LINK link_MemoryC_to_MainBus SET link_MemoryC_to_MainBus node MemoryC SET link_MemoryC_to_MainBus bus MainBus diff --git a/ttool/src/test/resources/cli/testPatternHandling/tmr/expected/modelWithOneSensorIntegTMR.tmap b/ttool/src/test/resources/cli/testPatternHandling/tmr/expected/modelWithOneSensorIntegTMR.tmap index e5ce548ca5..51003f7426 100644 --- a/ttool/src/test/resources/cli/testPatternHandling/tmr/expected/modelWithOneSensorIntegTMR.tmap +++ b/ttool/src/test/resources/cli/testPatternHandling/tmr/expected/modelWithOneSensorIntegTMR.tmap @@ -37,36 +37,14 @@ TMLMAPPING SET ModelOneSensor__sensorData priority 0 MAP BusEnvironmentPrivate ModelOneSensor__sensorData SET ModelOneSensor__sensorData priority 0 - MAP MemoryEnvironment ModelOneSensor__resA - SET ModelOneSensor__resA priority 0 - MAP BusEnvironment ModelOneSensor__resA - SET ModelOneSensor__resA priority 0 - MAP MainBus ModelOneSensor__resA - SET ModelOneSensor__resA priority 0 - MAP BusReceiver ModelOneSensor__resA - SET ModelOneSensor__resA priority 0 - MAP BusReceiverPrivate ModelOneSensor__resA - SET ModelOneSensor__resA priority 0 - MAP BusEnvironmentPrivate ModelOneSensor__resA - SET ModelOneSensor__resA priority 0 - MAP Memory_resultData ModelOneSensor__resultData - SET ModelOneSensor__resultData priority 0 - MAP BusReceiver ModelOneSensor__resultData - SET ModelOneSensor__resultData priority 0 - MAP BusEnvironment ModelOneSensor__sensorData1 - SET ModelOneSensor__sensorData1 priority 0 - MAP MainBus ModelOneSensor__sensorData1 + MAP Memory_sensorData ModelOneSensor__sensorData1 SET ModelOneSensor__sensorData1 priority 0 MAP BusReceiver ModelOneSensor__sensorData1 SET ModelOneSensor__sensorData1 priority 0 - MAP BusReceiverPrivate ModelOneSensor__sensorData1 - SET ModelOneSensor__sensorData1 priority 0 - MAP BusEnvironmentPrivate ModelOneSensor__sensorData1 - SET ModelOneSensor__sensorData1 priority 0 - MAP MemoryB ModelOneSensor__sensorData1 - SET ModelOneSensor__sensorData1 priority 0 - MAP MainBus ModelOneSensor__sensorData1 - SET ModelOneSensor__sensorData1 priority 0 + MAP Memory_sensorData ModelOneSensor__resA + SET ModelOneSensor__resA priority 0 + MAP BusReceiver ModelOneSensor__resA + SET ModelOneSensor__resA priority 0 MAP BusEnvironment ModelOneSensor__sensorData0 SET ModelOneSensor__sensorData0 priority 0 MAP MainBus ModelOneSensor__sensorData0 @@ -81,26 +59,38 @@ TMLMAPPING SET ModelOneSensor__sensorData0 priority 0 MAP MainBus ModelOneSensor__sensorData0 SET ModelOneSensor__sensorData0 priority 0 - MAP MemoryEnvironment ModelOneSensor__resC + MAP Memory_sensorData ModelOneSensor__resultData + SET ModelOneSensor__resultData priority 0 + MAP BusReceiver ModelOneSensor__resultData + SET ModelOneSensor__resultData priority 0 + MAP BusEnvironment ModelOneSensor__resultData + SET ModelOneSensor__resultData priority 0 + MAP MainBus ModelOneSensor__resultData + SET ModelOneSensor__resultData priority 0 + MAP BusReceiverPrivate ModelOneSensor__resultData + SET ModelOneSensor__resultData priority 0 + MAP BusEnvironmentPrivate ModelOneSensor__resultData + SET ModelOneSensor__resultData priority 0 + MAP Memory_sensorData ModelOneSensor__resC + SET ModelOneSensor__resC priority 0 + MAP BusReceiver ModelOneSensor__resC SET ModelOneSensor__resC priority 0 MAP BusEnvironment ModelOneSensor__resC SET ModelOneSensor__resC priority 0 MAP MainBus ModelOneSensor__resC SET ModelOneSensor__resC priority 0 - MAP BusReceiver ModelOneSensor__resC - SET ModelOneSensor__resC priority 0 MAP BusReceiverPrivate ModelOneSensor__resC SET ModelOneSensor__resC priority 0 MAP BusEnvironmentPrivate ModelOneSensor__resC SET ModelOneSensor__resC priority 0 - MAP MemoryEnvironment ModelOneSensor__resB + MAP Memory_sensorData ModelOneSensor__resB + SET ModelOneSensor__resB priority 0 + MAP BusReceiver ModelOneSensor__resB SET ModelOneSensor__resB priority 0 MAP BusEnvironment ModelOneSensor__resB SET ModelOneSensor__resB priority 0 MAP MainBus ModelOneSensor__resB SET ModelOneSensor__resB priority 0 - MAP BusReceiver ModelOneSensor__resB - SET ModelOneSensor__resB priority 0 MAP BusReceiverPrivate ModelOneSensor__resB SET ModelOneSensor__resB priority 0 MAP BusEnvironmentPrivate ModelOneSensor__resB diff --git a/ttool/src/test/resources/cli/testPatternHandling/tmr/expected/modelWithOneSensorIntegTMR.tml b/ttool/src/test/resources/cli/testPatternHandling/tmr/expected/modelWithOneSensorIntegTMR.tml index b72d2ff2cd..c77ae19649 100644 --- a/ttool/src/test/resources/cli/testPatternHandling/tmr/expected/modelWithOneSensorIntegTMR.tml +++ b/ttool/src/test/resources/cli/testPatternHandling/tmr/expected/modelWithOneSensorIntegTMR.tml @@ -1,6 +1,6 @@ // TML Application - FORMAT 0.2 // Application: tmr -// Generated: Sun Nov 12 15:27:46 CET 2023 +// Generated: Mon Nov 13 12:49:10 CET 2023 // PRAGMAS diff --git a/ttool/src/test/resources/cli/testPatternHandling/tmr/expected/modelWithThreeSensorsIntegTMR.tmap b/ttool/src/test/resources/cli/testPatternHandling/tmr/expected/modelWithThreeSensorsIntegTMR.tmap index 06de0899d4..ccd2d7e4ce 100644 --- a/ttool/src/test/resources/cli/testPatternHandling/tmr/expected/modelWithThreeSensorsIntegTMR.tmap +++ b/ttool/src/test/resources/cli/testPatternHandling/tmr/expected/modelWithThreeSensorsIntegTMR.tmap @@ -15,10 +15,10 @@ TMLMAPPING SET ModelThreeSensors__Sensor2 priority 0 MAP CPUEnvironment ModelThreeSensors__Sensor1 SET ModelThreeSensors__Sensor1 priority 0 - MAP CPUEnvironment ModelThreeSensors__InterpreterA - SET ModelThreeSensors__InterpreterA priority 0 MAP CPU_InterpreterB ModelThreeSensors__InterpreterB SET ModelThreeSensors__InterpreterB priority 0 + MAP CPU_InterpreterB ModelThreeSensors__InterpreterA + SET ModelThreeSensors__InterpreterA priority 0 MAP CPU_InterpreterB ModelThreeSensors__Voter SET ModelThreeSensors__Voter priority 0 MAP CPU_InterpreterB ModelThreeSensors__InterpreterC @@ -65,11 +65,11 @@ TMLMAPPING SET ModelThreeSensors__resultData priority 0 MAP MainBus ModelThreeSensors__resultData SET ModelThreeSensors__resultData priority 0 - MAP BusReceiver ModelThreeSensors__resultData + MAP BusEnvironmentPrivate ModelThreeSensors__resultData SET ModelThreeSensors__resultData priority 0 MAP BusReceiverPrivate ModelThreeSensors__resultData SET ModelThreeSensors__resultData priority 0 - MAP BusEnvironmentPrivate ModelThreeSensors__resultData + MAP BusReceiver ModelThreeSensors__resultData SET ModelThreeSensors__resultData priority 0 MAP MemoryVoter ModelThreeSensors__resultData SET ModelThreeSensors__resultData priority 0 @@ -81,11 +81,11 @@ TMLMAPPING SET ModelThreeSensors__resA priority 0 MAP MainBus ModelThreeSensors__resA SET ModelThreeSensors__resA priority 0 - MAP BusReceiver ModelThreeSensors__resA + MAP BusEnvironmentPrivate ModelThreeSensors__resA SET ModelThreeSensors__resA priority 0 MAP BusReceiverPrivate ModelThreeSensors__resA SET ModelThreeSensors__resA priority 0 - MAP BusEnvironmentPrivate ModelThreeSensors__resA + MAP BusReceiver ModelThreeSensors__resA SET ModelThreeSensors__resA priority 0 MAP MemoryVoter ModelThreeSensors__resC SET ModelThreeSensors__resC priority 0 @@ -93,11 +93,11 @@ TMLMAPPING SET ModelThreeSensors__resC priority 0 MAP MainBus ModelThreeSensors__resC SET ModelThreeSensors__resC priority 0 - MAP BusReceiver ModelThreeSensors__resC + MAP BusEnvironmentPrivate ModelThreeSensors__resC SET ModelThreeSensors__resC priority 0 MAP BusReceiverPrivate ModelThreeSensors__resC SET ModelThreeSensors__resC priority 0 - MAP BusEnvironmentPrivate ModelThreeSensors__resC + MAP BusReceiver ModelThreeSensors__resC SET ModelThreeSensors__resC priority 0 MAP MemoryVoter ModelThreeSensors__resB SET ModelThreeSensors__resB priority 0 @@ -105,10 +105,10 @@ TMLMAPPING SET ModelThreeSensors__resB priority 0 MAP MainBus ModelThreeSensors__resB SET ModelThreeSensors__resB priority 0 - MAP BusReceiver ModelThreeSensors__resB + MAP BusEnvironmentPrivate ModelThreeSensors__resB SET ModelThreeSensors__resB priority 0 MAP BusReceiverPrivate ModelThreeSensors__resB SET ModelThreeSensors__resB priority 0 - MAP BusEnvironmentPrivate ModelThreeSensors__resB + MAP BusReceiver ModelThreeSensors__resB SET ModelThreeSensors__resB priority 0 ENDTMLMAPPING diff --git a/ttool/src/test/resources/cli/testPatternHandling/tmr/expected/modelWithThreeSensorsIntegTMR.tml b/ttool/src/test/resources/cli/testPatternHandling/tmr/expected/modelWithThreeSensorsIntegTMR.tml index 06139dacdf..9a3a122ffc 100644 --- a/ttool/src/test/resources/cli/testPatternHandling/tmr/expected/modelWithThreeSensorsIntegTMR.tml +++ b/ttool/src/test/resources/cli/testPatternHandling/tmr/expected/modelWithThreeSensorsIntegTMR.tml @@ -1,6 +1,6 @@ // TML Application - FORMAT 0.2 // Application: tmr -// Generated: Sun Nov 12 15:40:56 CET 2023 +// Generated: Mon Nov 13 12:40:36 CET 2023 // PRAGMAS @@ -84,8 +84,8 @@ TASK ModelThreeSensors__Receiver //Behavior FOR(; ; ) - READ ModelThreeSensors__resultData 1 WAIT ModelThreeSensors__moveto_FAIL_SAFE x + READ ModelThreeSensors__resultData 1 EXECI executeSensor ENDFOR ENDTASK -- GitLab