From d918d38f065c2106cf0c546b8f49cef16ea57724 Mon Sep 17 00:00:00 2001 From: Tim Jammer <tim.jammer@tu-darmstadt.de> Date: Thu, 8 Feb 2024 12:55:02 +0100 Subject: [PATCH] organize generated codes per feature --- scripts/Infrastructure/GeneratorManager.py | 10 +++++++--- scripts/main.py | 17 ++++++++++------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/scripts/Infrastructure/GeneratorManager.py b/scripts/Infrastructure/GeneratorManager.py index dad021d97..c5cca9e75 100644 --- a/scripts/Infrastructure/GeneratorManager.py +++ b/scripts/Infrastructure/GeneratorManager.py @@ -69,8 +69,9 @@ class GeneratorManager: return case_name + "-" + str(num).zfill(digits_to_use) + suffix - def generate(self, outpath: str | Path | os.PathLike[str], filterlist_:typing.Sequence[str]=None, print_progress_bar:bool=True, overwrite:bool=True, generate_full_set:bool=False, - try_compile:bool=False, max_mpi_version:str="4.0", use_clang_format:bool=True): + def generate(self, outpath: str | Path | os.PathLike[str], filterlist_: typing.Sequence[str] = None, + print_progress_bar: bool = True, overwrite: bool = True, generate_full_set: bool = False, + try_compile: bool = False, max_mpi_version: str = "4.0", use_clang_format: bool = True): """ Generates test cases based on the specified parameters. Parameters: @@ -115,6 +116,9 @@ class GeneratorManager: cases_generated = 0 for generator in generators_to_use: + # use first feature as category if generatro has multiple + categroy_path = os.path.join(outpath, generator.get_feature()[0]) + os.makedirs(categroy_path, exist_ok=True) for result_error in generator.generate(generate_full_set): assert isinstance(result_error, TemplateManager) @@ -122,7 +126,7 @@ class GeneratorManager: if not float(result_error.get_version()) > float(max_mpi_version): case_name = result_error.get_short_descr() fname = self.get_filename(case_name) - full_name = os.path.join(outpath, fname) + full_name = os.path.join(categroy_path, fname) if not overwrite and os.path.isfile(full_name): assert False and "File Already exists" diff --git a/scripts/main.py b/scripts/main.py index acc0a0887..808797201 100644 --- a/scripts/main.py +++ b/scripts/main.py @@ -6,14 +6,17 @@ from scripts.Infrastructure.GeneratorManager import GeneratorManager if __name__ == "__main__": gencodes_dir = "../gencodes/" - #gm = GeneratorManager("./errors") - gm = GeneratorManager("./errors/devel") + gm = GeneratorManager("./errors") + # gm = GeneratorManager("./errors/devel") + # remove all testcases from previous execution (ease of debugging) - filelist = [f for f in os.listdir(gencodes_dir) if f.endswith(".c")] - for f in filelist: - os.remove(os.path.join(gencodes_dir, f)) + for root, dirs, files in os.walk(gencodes_dir): + for file in files: + if file.endswith(".c"): + os.remove(os.path.join(root, file)) - #gm.generate(gencodes_dir, try_compile=True, generate_full_set=False) # default - gm.generate(gencodes_dir, try_compile=True, generate_full_set=True, max_mpi_version="3.1") #all cases that can compile for my local mpi installation + # gm.generate(gencodes_dir, try_compile=True, generate_full_set=False) # default + gm.generate(gencodes_dir, try_compile=True, generate_full_set=True, + max_mpi_version="3.1") # all cases that can compile for my local mpi installation pass -- GitLab