Skip to content
Snippets Groups Projects

P2P

Open
Jammer, Timrequested to merge
p2p into main
1 file
+ 27
11
Compare changes
  • Side-by-side
  • Inline
#! /usr/bin/python3
#! /usr/bin/python3
import os
import os
 
import argparse
 
from scripts.Infrastructure.GeneratorManager import GeneratorManager
from scripts.Infrastructure.GeneratorManager import GeneratorManager
if __name__ == "__main__":
if __name__ == "__main__":
gencodes_dir = "../gencodes/"
parser = argparse.ArgumentParser("generate MBB Testcases")
 
parser.add_argument("--outpath", action="store", default="gencodes",required=False,
 
help="Path to generate the codes into")
 
parser.add_argument("--level", action="store", default=1, type=int, required=False,
 
help="Level of tests to generate. 1: simple cases, 2: caseswith sufficient coverage, 3: all possible usage combinations")
 
parser.add_argument("--mpi_version", default="4.1", required=False, help="maximum MPI versions to use")
 
 
debug = parser.add_argument_group("Debug", "Arguments used to debug and test the generation progess")
 
debug.add_argument("--generator_dir", action="store", default="scripts/errors", required=False,
 
help="Directory where the generators are")
 
debug.add_argument("--compile", action="store_true", default=False, required=False,
 
help="Check if the generated codes compile")
 
debug.add_argument("--remove_previous_generation_results", action="store_true", default=False, required=False,
 
help="Clear the outpath before generation (for ease of debugging)")
 
ARGS = parser.parse_args()
#gm = GeneratorManager("./errors")
gencodes_dir = ARGS.outpath
gm = GeneratorManager("./errors/devel")
 
gm = GeneratorManager(ARGS.generator_dir)
# remove all testcases from previous execution (ease of debugging)
# remove all testcases from previous execution (ease of debugging)
for root, dirs, files in os.walk(gencodes_dir):
if ARGS.remove_previous_generation_results:
for file in files:
for root, dirs, files in os.walk(gencodes_dir):
if file.endswith(".c"):
for file in files:
os.remove(os.path.join(root, file))
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,
gm.generate(gencodes_dir, try_compile=ARGS.compile, generation_level=ARGS.level, max_mpi_version=ARGS.mpi_version)
max_mpi_version="3.1") # all cases that can compile for my local mpi installation
pass
pass
Loading