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