diff --git a/simrunner/simrunner.py b/simrunner/simrunner.py index 8ee801cf692e0734db86bf0b7d3c6574f4a467a4..c67f44d225dd5a29b27ea7626ee94f8d3e502593 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)