From f36a8ccb91cb71c1e4f15dc12cdecf3167eb1420 Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 17 Jun 2020 11:37:49 +0200 Subject: Putting everything in Test and Suite class --- main.py | 66 +++++++++++++---------------------------------------------------- 1 file changed, 13 insertions(+), 53 deletions(-) (limited to 'main.py') diff --git a/main.py b/main.py index b311440..8242072 100755 --- a/main.py +++ b/main.py @@ -2,15 +2,13 @@ import os import sys -import argparse import shutil -# import utils import config +from args import parse_args from suite import Suite import suites - def main(): if not os.path.exists(config.EXECUTABLES_PATH): os.mkdir(config.EXECUTABLES_PATH) @@ -18,61 +16,23 @@ def main(): shutil.copy(os.path.join("/usr/bin", cmd), # search whole PATH os.path.join(config.EXECUTABLES_PATH, cmd)) + args = parse_args() + if args.list: + print("The available suites are:") + print('\n'.join([" - " + s.name for s in Suite.available])) + sys.exit(0) + + config.VERBOSE_LEVEL = args.verbose + Suite.setup(args.suites) try: - Suite.setup([]) Suite.run_all() - # suites.suite_quote() - # suites.suite_echo() - # suites.suite_redirection() - # suites.suite_edgecases() - # suites.suite_cmd_error() - # suites.suite_interpolation() - # suites.suite_glob() - # suites.suite_escape() - # suites.suite_preprocess() - # suites.suite_encoding() except KeyboardInterrupt: shutil.rmtree(config.SANDBOX_PATH) + Suite.summarize() + Suite.save_log() + print("See", config.LOG_PATH, "for more information") -if __name__ == "__main__": - # available_suites_str = ", ".join(utils.available_suites) - # - # parser = argparse.ArgumentParser(description="Minishell test", epilog="Make sure read README.md") - # parser.add_argument("-v", "--verbose", action="store_true", - # help="print test result to stdout") - # parser.add_argument("suites", nargs='*', metavar="suite", - # help="test suites to run (available suites: {})".format(available_suites_str)) - # args = parser.parse_args() - # utils.verbose = args.verbose - - # check if selected suite is valid - # for s in args.suites: - # if s not in utils.available_suites: - # print("{}: error: `{}` isn't a valid suite, the available runned_suites are {}" - # .format(sys.argv[0], s, available_suites_str)) - # sys.exit(1) - - # update ignored runned_suites according to the selected ones (if no suite is selected, all are run) - # if len(args.suites) != 0: - # for available in utils.available_suites: - # if available not in args.suites: - # utils.ignored_suites.append(available) +if __name__ == "__main__": main() - - # log_file = open(config.LOG_PATH, "w") - # print("Summary:") - # for suite_name, results in utils.runned_suites.items(): - # print("{:15} ".format(suite_name), end="") - # pass_total = 0 - # for (cmd, expected, actual, files, expected_files, actual_files) in results: - # if utils.check(expected, actual, expected_files, actual_files): - # pass_total += 1 - # else: - # log_file.write(utils.diff(cmd, expected, actual, files, expected_files, actual_files)) - # log_file.write("=" * 80 + "\n\n") - # print(utils.green("{:2} [PASS]".format(pass_total)), end=" ") - # print(utils.red("{:2} [FAIL]".format(len(results) - pass_total))) - # print("See", config.LOG_PATH, "for more information") - # sys.exit(utils.status) -- cgit