From 24fc395a7853f03def1350f7ff35a7f819473b79 Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 17 Jun 2020 08:53:47 +0200 Subject: Added Test and Suite class --- main.py | 93 ++++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 49 insertions(+), 44 deletions(-) (limited to 'main.py') diff --git a/main.py b/main.py index aab8473..b311440 100755 --- a/main.py +++ b/main.py @@ -5,10 +5,12 @@ import sys import argparse import shutil -import utils +# import utils import config +from suite import Suite import suites + def main(): if not os.path.exists(config.EXECUTABLES_PATH): os.mkdir(config.EXECUTABLES_PATH) @@ -17,57 +19,60 @@ def main(): os.path.join(config.EXECUTABLES_PATH, cmd)) try: - 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() + 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) 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 + # 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) + # 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 len(args.suites) != 0: + # for available in utils.available_suites: + # if available not in args.suites: + # utils.ignored_suites.append(available) 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) + + # 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