From 46ba2708f83bf46186c33bf84975d39e87f467c1 Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Fri, 11 Sep 2020 12:33:34 +0200 Subject: Refactoring files, splited test.py and suite.py in packages --- src/main.py | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100755 src/main.py (limited to 'src/main.py') diff --git a/src/main.py b/src/main.py new file mode 100755 index 0000000..a71a485 --- /dev/null +++ b/src/main.py @@ -0,0 +1,67 @@ +#!/usr/bin/python3 + +# ############################################################################ # +# # +# ::: :::::::: # +# main.py :+: :+: :+: # +# +:+ +:+ +:+ # +# By: charles +#+ +:+ +#+ # +# +#+#+#+#+#+ +#+ # +# Created: 2020/07/15 15:11:52 by charles #+# #+# # +# Updated: 2020/07/15 15:11:52 by charles ### ########.fr # +# # +# ############################################################################ # + +import os +import sys +import shutil +import distutils.spawn +import subprocess + +import config +from args import parse_args +from suite import Suite +import suites.builtin +import suites.cmd +import suites.preprocess +import suites.operation +import suites.parenthesis +import suites.status +import suites.path + +def main(): + args = parse_args() + if args.list: + print("The available suites are:") + print('\n'.join([" - " + s.name for s in Suite.available])) + sys.exit(0) + + if config.MINISHELL_BUILD or args.build: + try: + subprocess.run(["make", "-C", config.MINISHELL_DIR], check=True) + except subprocess.CalledProcessError: + sys.exit(1) + if args.build: + sys.exit(0) + if os.path.exists(config.EXECUTABLES_PATH): + shutil.rmtree(config.EXECUTABLES_PATH) + os.mkdir(config.EXECUTABLES_PATH) + for cmd in config.AVAILABLE_COMMANDS: + shutil.copy(distutils.spawn.find_executable(cmd), # FIXME search whole PATH + os.path.join(config.EXECUTABLES_PATH, cmd)) + + + config.VERBOSE_LEVEL = args.verbose + Suite.setup(args.suites) + try: + Suite.run_all() + except KeyboardInterrupt: + shutil.rmtree(config.SANDBOX_PATH) + + Suite.summarize() + Suite.save_log() + print("See", config.LOG_PATH, "for more information") + + +if __name__ == "__main__": + main() -- cgit