From 16db7fe442d0167da1d7c1432c653480e3d4c6dc Mon Sep 17 00:00:00 2001
From: blanc <guillaume.blanc@eurecom.fr>
Date: Tue, 30 Jan 2024 13:59:42 -0500
Subject: [PATCH] Move golden generation in BeforeClass

---
 ttool/src/test/java/test/AbstractTest.java     |  6 ++----
 .../src/test/java/ui/AvatarSecurityTests.java  | 18 ++++++++++++++++--
 2 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/ttool/src/test/java/test/AbstractTest.java b/ttool/src/test/java/test/AbstractTest.java
index 03964def56..29654c3746 100644
--- a/ttool/src/test/java/test/AbstractTest.java
+++ b/ttool/src/test/java/test/AbstractTest.java
@@ -212,7 +212,7 @@ public abstract class AbstractTest {
     }
 
 
-    public boolean executeAndVerifyPvspec (String pvspecPath, String goldenPath){
+    public boolean executeAndVerifyPvspec (String pvspecPath, List<String> golden){
         String cmd = "proverif -in pitype " + pvspecPath;
         Process process;
         BufferedReader cmdOutput;
@@ -221,8 +221,6 @@ public abstract class AbstractTest {
             process = Runtime.getRuntime().exec(cmd);
             cmdOutput = new BufferedReader(new InputStreamReader(process.getInputStream()));
 
-            List<String> golden = generateGoldenList(goldenPath);
-
             String outputLine;
             int checked = 0;
             boolean summaryFound = false;
@@ -252,7 +250,7 @@ public abstract class AbstractTest {
     }
 
 
-    private List<String> generateGoldenList(String goldenPath) throws IOException {
+    public static List<String> generateGoldenList(String goldenPath) throws IOException {
         BufferedReader goldenFile = null;
         try {
             goldenFile = new BufferedReader(new FileReader(goldenPath));
diff --git a/ttool/src/test/java/ui/AvatarSecurityTests.java b/ttool/src/test/java/ui/AvatarSecurityTests.java
index e955dd3284..52569fb4c8 100644
--- a/ttool/src/test/java/ui/AvatarSecurityTests.java
+++ b/ttool/src/test/java/ui/AvatarSecurityTests.java
@@ -4,9 +4,11 @@ import common.ConfigurationTTool;
 import common.SpecConfigTTool;
 import myutil.FileUtils;
 import myutil.TraceManager;
+import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
+import java.io.File;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -25,6 +27,7 @@ public class AvatarSecurityTests extends AbstractUITest {
     private static String OUTPUT_DIR;
 
     private static HashMap<String, List<String>> MODELS = new HashMap<>();
+    private static HashMap<String, List<String>> goldens = new HashMap<>();
 
     private static void initModels() {
         // Provides the filenames and the list of panels to be tested
@@ -47,6 +50,17 @@ public class AvatarSecurityTests extends AbstractUITest {
         FileUtils.deleteFiles(OUTPUT_DIR);
 
         initModels();
+
+        for (String model : MODELS.keySet()){
+            for (String panel : MODELS.get(model)){
+                String tabName = panel.replace(" ", "_");
+                String goldenName = model + '_' + tabName + GOLDEN_SUFFIX;
+                String goldenPath = INPUT_DIR + goldenName;
+
+                List<String> golden = generateGoldenList(goldenPath);
+                goldens.put(goldenName, golden);
+            }
+        }
     }
 
     public AvatarSecurityTests(){
@@ -82,9 +96,9 @@ public class AvatarSecurityTests extends AbstractUITest {
             boolean pvspecGenerated = mainGUI.gtm.generateProVerifFromAVATAR(pvspecPath, 0, true, true);
             assertTrue(pvspecGenerated);
 
-            String goldenPath = INPUT_DIR + model + '_' + tabName + GOLDEN_SUFFIX;
+            String goldenName = model + '_' + tabName + GOLDEN_SUFFIX;
 
-            assertTrue(executeAndVerifyPvspec(pvspecPath, goldenPath));
+            assertTrue(executeAndVerifyPvspec(pvspecPath, goldens.get(goldenName)));
         }
     }
 
-- 
GitLab