From 75c33b1fe44a73ff7111b56fabc1f8ade6ed27a8 Mon Sep 17 00:00:00 2001 From: Ludovic Apvrille <ludovic.apvrille@telecom-paris.fr> Date: Fri, 10 Jun 2022 17:11:56 +0200 Subject: [PATCH] Solving failed test: DiplodocusFPGAReconfigurationTests --- .../DiplodocusFPGAReconfigurationTests.java | 28 +++++++++++++------ .../java/tmltranslator/MemoryLeakTest.java | 19 ++++++++++--- .../simulator/fpga_reconfig1.tmap | 1 + .../simulator/fpga_reconfig2.tmap | 1 + .../simulator/fpga_reconfig3.tmap | 1 + .../simulator/fpga_reconfig4.tmap | 1 + .../simulator/fpga_reconfig5.tmap | 1 + .../simulator/fpga_reconfig6.tmap | 1 + 8 files changed, 41 insertions(+), 12 deletions(-) diff --git a/ttool/src/test/java/tmltranslator/DiplodocusFPGAReconfigurationTests.java b/ttool/src/test/java/tmltranslator/DiplodocusFPGAReconfigurationTests.java index 78f373fc02..4f096f68cf 100644 --- a/ttool/src/test/java/tmltranslator/DiplodocusFPGAReconfigurationTests.java +++ b/ttool/src/test/java/tmltranslator/DiplodocusFPGAReconfigurationTests.java @@ -27,11 +27,12 @@ public class DiplodocusFPGAReconfigurationTests extends AbstractTest { private static final String DIR_GEN = "test_diplo_simulator/"; // test for reconfiguration of FPGA - private static final String [] MODELS_FPGA_RECONFIG = {"fpga_reconfig1", "fpga_reconfig2", "fpga_reconfig3", "fpga_reconfig4", "fpga_reconfig5", "fpga_reconfig6"}; - private static final int [] NB_Of_FPGA_STATES = {20, 20, 20, 20, 20, 20}; - private static final int [] NB_Of_FPGA_TRANSTIONS = {19, 19, 19, 19, 19, 19}; - private static final int [] MIN_FPGA_CYCLES = {90, 83, 77, 70, 75, 76}; - private static final int [] MAX_FPGA_CYCLES = {90, 83, 77, 70, 75, 76}; + private static final String [] MODELS_FPGA_RECONFIG = {"fpga_reconfig1", "fpga_reconfig2", "fpga_reconfig3", "fpga_reconfig4", + "fpga_reconfig5", "fpga_reconfig6"}; + private static final int [] NB_Of_FPGA_STATES = {21, 21, 21, 21, 21, 21}; + private static final int [] NB_Of_FPGA_TRANSTIONS = {20, 20, 20, 20, 20, 20}; + private static final int [] MIN_FPGA_CYCLES = {70, 63, 57, 56, 55, 56}; + private static final int [] MAX_FPGA_CYCLES = {70, 63, 57, 56, 55, 56}; private static final String CPP_DIR = "../../../../simulators/c++2/"; private String SIM_DIR; @@ -79,6 +80,15 @@ public class DiplodocusFPGAReconfigurationTests extends AbstractTest { TMLSyntaxChecking syntax = new TMLSyntaxChecking(tmap); syntax.checkSyntax(); + + if (syntax.hasErrors() > 0) { + for (TMLError error: syntax.getErrors()) { + System.out.println("Error: " + error.toString()); + } + + } + + assertTrue(syntax.hasErrors() == 0); // Generate SystemC code System.out.println("executing: sim code gen for " + s); @@ -196,17 +206,19 @@ public class DiplodocusFPGAReconfigurationTests extends AbstractTest { // States and transitions System.out.println("executing: nb states of " + s + " " + graph.getNbOfStates()); - assertTrue(NB_Of_FPGA_STATES[i] == graph.getNbOfStates()); System.out.println("executing: nb transitions of " + s + " " + graph.getNbOfTransitions()); - assertTrue(NB_Of_FPGA_TRANSTIONS[i] == graph.getNbOfTransitions()); // Min and max cycles int minValue = graph.getMinValue("allCPUsFPGAsTerminated"); System.out.println("executing: minvalue of " + s + " " + minValue); - assertTrue(MIN_FPGA_CYCLES[i] == minValue); int maxValue = graph.getMaxValue("allCPUsFPGAsTerminated"); System.out.println("executing: maxvalue of " + s + " " + maxValue); + + // Asserting graph values + assertTrue(MIN_FPGA_CYCLES[i] == minValue); + assertTrue(NB_Of_FPGA_STATES[i] == graph.getNbOfStates()); + assertTrue(NB_Of_FPGA_TRANSTIONS[i] == graph.getNbOfTransitions()); assertTrue(MAX_FPGA_CYCLES[i] == maxValue); } } diff --git a/ttool/src/test/java/tmltranslator/MemoryLeakTest.java b/ttool/src/test/java/tmltranslator/MemoryLeakTest.java index 285eba34d0..cdc7d66a19 100644 --- a/ttool/src/test/java/tmltranslator/MemoryLeakTest.java +++ b/ttool/src/test/java/tmltranslator/MemoryLeakTest.java @@ -35,10 +35,10 @@ public class MemoryLeakTest extends AbstractTest { final String DIR_GEN = "test_diplo_simulator/"; final String [] MODELS_MEMORY_LEAK = {"fpga_reconfig5", "fpga_reconfig6"}; private String SIM_DIR; - final int [] NB_OF_ML_STATES = {20, 20}; - final int [] NB_OF_ML_TRANSTIONS = {19, 19}; - final int [] MIN_ML_CYCLES = {75, 76}; - final int [] MAX_ML_CYCLES = {75, 76}; + final int [] NB_OF_ML_STATES = {21, 21}; + final int [] NB_OF_ML_TRANSTIONS = {20, 20}; + final int [] MIN_ML_CYCLES = {55, 56}; + final int [] MAX_ML_CYCLES = {55, 56}; static String CPP_DIR = "../../../../simulators/c++2/"; static String valgrindVersionCmd = "valgrind --version"; static String valgrindExecCmd = "valgrind --leak-check=full --log-file="; @@ -86,7 +86,18 @@ public class MemoryLeakTest extends AbstractTest { TMLSyntaxChecking syntax = new TMLSyntaxChecking(tmap); syntax.checkSyntax(); + + if (syntax.hasErrors() > 0) { + for (TMLError error: syntax.getErrors()) { + System.out.println("Error: " + error.toString()); + } + + } + assertTrue(syntax.hasErrors() == 0); + + + // Generate SystemC code System.out.println("executing: sim code gen for " + s); final IDiploSimulatorCodeGenerator tml2systc; diff --git a/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig1.tmap b/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig1.tmap index 8bcd6765bd..ac22ad683a 100644 --- a/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig1.tmap +++ b/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig1.tmap @@ -17,4 +17,5 @@ TMLMAPPING SET Application__Task2 priority 0 MAP FPGA0 Application__Task5 SET Application__Task5 priority 0 + MAP Memory0 Application__ch ENDTMLMAPPING diff --git a/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig2.tmap b/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig2.tmap index 16064f0ff9..61fd78f483 100644 --- a/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig2.tmap +++ b/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig2.tmap @@ -17,4 +17,5 @@ TMLMAPPING SET Application__Task2 priority 0 MAP FPGA0 Application__Task5 SET Application__Task5 priority 0 + MAP Memory0 Application__ch ENDTMLMAPPING diff --git a/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig3.tmap b/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig3.tmap index 66e0a9b4b7..2780de6c76 100644 --- a/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig3.tmap +++ b/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig3.tmap @@ -17,4 +17,5 @@ TMLMAPPING SET Application__Task2 priority 0 MAP FPGA0 Application__Task5 SET Application__Task5 priority 0 + MAP Memory0 Application__ch ENDTMLMAPPING diff --git a/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig4.tmap b/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig4.tmap index 7b47a79bbe..87b97bff64 100644 --- a/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig4.tmap +++ b/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig4.tmap @@ -17,4 +17,5 @@ TMLMAPPING SET Application__Task2 priority 0 MAP FPGA0 Application__Task5 SET Application__Task5 priority 0 + MAP Memory0 Application__ch ENDTMLMAPPING diff --git a/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig5.tmap b/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig5.tmap index ad5db33abe..206b6a6bba 100644 --- a/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig5.tmap +++ b/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig5.tmap @@ -17,4 +17,5 @@ TMLMAPPING SET Application__Task2 priority 0 MAP FPGA0 Application__Task5 SET Application__Task5 priority 0 + MAP Memory0 Application__ch ENDTMLMAPPING diff --git a/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig6.tmap b/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig6.tmap index 1c9a746a47..d4dbf096de 100644 --- a/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig6.tmap +++ b/ttool/src/test/resources/tmltranslator/simulator/fpga_reconfig6.tmap @@ -17,4 +17,5 @@ TMLMAPPING SET Application__Task3 priority 0 MAP FPGA0 Application__Task4 SET Application__Task4 priority 0 + MAP Memory0 Application__ch ENDTMLMAPPING -- GitLab