From b5c286d383eb02b574352275a556bdd5ee523bef Mon Sep 17 00:00:00 2001
From: Michael Reuscher <michael.reuscher@desy.de>
Date: Tue, 11 Jul 2023 17:55:15 +0200
Subject: [PATCH] Simrunner 1.01 now different sets of tests parameter
 available

---
 simrunner/simrunner.py | 36 ++++++++++++++++++++++++++++--------
 1 file changed, 28 insertions(+), 8 deletions(-)

diff --git a/simrunner/simrunner.py b/simrunner/simrunner.py
index 8ee801c..c67f44d 100644
--- a/simrunner/simrunner.py
+++ b/simrunner/simrunner.py
@@ -4,19 +4,39 @@ import subprocess
 
 def start_cpp_program(program_path, arguments):
     command = [program_path] + arguments
-    process = subprocess.Popen(command, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
+    process = subprocess.run(command, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
     return process
 
 
-def send_input(program_path, arguments):
-    command = [program_path] + arguments
+def send_input(program_path, arg):
+    command = [program_path] + arg
     process = subprocess.Popen(command, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
-    output = process.stdout.readline().decode()
-    return output
+    stdout, stderr = process.communicate()
+    return stdout.decode()
+
 
+data_config = {
+    "s": ["1M", "2M", "3M"],  #Size
+    "n": ["30", "10", "20"],   #nEvents
+    "i": ["0.1", "0.2", "0.3"],   #interval
+    "N": ["4", "4", "4"]   #UsedThreads
 
-# Beispielverwendung
+}
+data_size = ["1M", "2M"]
+skript_path = os.path.abspath(__file__)
+main_folder = os.path.dirname(os.path.dirname(skript_path))
+data_path = os.path.join(main_folder, "protokoll")
 cpp_program_path = os.path.join(os.path.dirname(__file__), "../build/src/detsim")
-arguments = ["-o", "output", "--posixDataDir", "protokoll", "-n", "100", "-s", "2M", "-i", "0.1s", "-N", "4"]
+os.makedirs(data_path, mode=0o777, exist_ok=True)
 
-send_input(cpp_program_path, arguments)
+for data_set in range(len(data_config["s"])):
+    size = data_config["s"][data_set]
+    nEvents = data_config["n"][data_set]
+    interval = data_config["i"][data_set]
+    threads = data_config["N"][data_set]
+    folder_name = data_config["s"][data_set]
+    relativ_path = os.path.join(main_folder, "output1", folder_name)
+    os.makedirs(relativ_path, mode=0o777, exist_ok=True)
+    arguments = ["-o", relativ_path, "--posixDataDir", "protokoll", "-n", nEvents, "-s", size, "-i", interval, "-N", threads]
+    output = start_cpp_program(cpp_program_path, arguments)
+    print(output)
-- 
GitLab