From 974bd463786416e5e45fbe7aa0c057ca56cbcb1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?xavier=20dupr=C3=A9?= Date: Fri, 29 Jul 2022 01:52:01 +0200 Subject: [PATCH] Improves results aftrer running the unit tests --- src/pyquickhelper/pycode/setup_helper.py | 24 +++++++++++++----------- src/pyquickhelper/pycode/utils_tests.py | 1 + src/quicksetup/pyquicksetup/__init__.py | 2 +- src/quicksetup/pyquicksetup/pyquick.py | 4 +++- 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/src/pyquickhelper/pycode/setup_helper.py b/src/pyquickhelper/pycode/setup_helper.py index 8b0671a2..a4824794 100644 --- a/src/pyquickhelper/pycode/setup_helper.py +++ b/src/pyquickhelper/pycode/setup_helper.py @@ -419,7 +419,7 @@ def dump_coverage_fct(full=True): elif "unittests" in argv: skip_f = process_argv_for_unittest(argv, skip_function) - run_unittests_for_setup( + return run_unittests_for_setup( file_or_folder, coverage_options=coverage_options, coverage_exclude_lines=coverage_exclude_lines, @@ -429,40 +429,36 @@ def dump_coverage_fct(full=True): filter_warning=filter_warning, dump_coverage=dump_coverage_fct(), add_coverage_folder=dump_coverage_fct(False), coverage_root=coverage_root, fLOG=fLOG) - return True elif "unittests_LONG" in argv: def skip_long(name, code, duration): return "test_LONG_" not in name - run_unittests_for_setup( + return run_unittests_for_setup( file_or_folder, skip_function=skip_long, coverage_options=coverage_options, coverage_exclude_lines=coverage_exclude_lines, additional_ut_path=additional_ut_path, stdout=stdout, stderr=stderr, dump_coverage=dump_coverage_fct(), fLOG=fLOG) - return True elif "unittests_SKIP" in argv: def skip_skip(name, code, duration): return "test_SKIP_" not in name - run_unittests_for_setup( + return run_unittests_for_setup( file_or_folder, skip_function=skip_skip, coverage_options=coverage_options, coverage_exclude_lines=coverage_exclude_lines, additional_ut_path=additional_ut_path, stdout=stdout, stderr=stderr, dump_coverage=dump_coverage_fct(), fLOG=fLOG) - return True elif "unittests_GUI" in argv: # pragma: no cover def skip_skip(name, code, duration): return "test_GUI_" not in name - run_unittests_for_setup( + return run_unittests_for_setup( file_or_folder, skip_function=skip_skip, coverage_options=coverage_options, coverage_exclude_lines=coverage_exclude_lines, additional_ut_path=additional_ut_path, stdout=stdout, stderr=stderr, dump_coverage=dump_coverage_fct(), fLOG=fLOG) - return True elif "build_script" in argv: # pragma: no cover # delayed import @@ -813,13 +809,19 @@ def run_unittests_for_setup(file_or_folder, skip_function=None, dump_coverage = None logfile = os.path.join(funit, "unittests.out") - main_wrapper_tests( + res = main_wrapper_tests( logfile, add_coverage=cov, skip_function=skip_function, coverage_options=coverage_options, - coverage_exclude_lines=coverage_exclude_lines, additional_ut_path=additional_ut_path, + coverage_exclude_lines=coverage_exclude_lines, + additional_ut_path=additional_ut_path, covtoken=covtoken, stdout=stdout, stderr=stderr, filter_warning=filter_warning, dump_coverage=dump_coverage, - add_coverage_folder=add_coverage_folder, coverage_root=coverage_root, fLOG=fLOG) + add_coverage_folder=add_coverage_folder, + coverage_root=coverage_root, fLOG=fLOG) + if not isinstance(res, dict): + raise TypeError( # pragma: no cover + f"Dictionary expected not {type(res)!r}.") + return res def copy27_for_setup(file_or_folder): # pragma: no cover diff --git a/src/pyquickhelper/pycode/utils_tests.py b/src/pyquickhelper/pycode/utils_tests.py index 4c1121d2..2aedb34f 100644 --- a/src/pyquickhelper/pycode/utils_tests.py +++ b/src/pyquickhelper/pycode/utils_tests.py @@ -477,3 +477,4 @@ def write_covlog(covs): for row in rows: fLOG(row) stdout_this.write(row + "\n") + return res diff --git a/src/quicksetup/pyquicksetup/__init__.py b/src/quicksetup/pyquicksetup/__init__.py index 2138f694..e29052e1 100644 --- a/src/quicksetup/pyquicksetup/__init__.py +++ b/src/quicksetup/pyquicksetup/__init__.py @@ -4,7 +4,7 @@ `pyquickhelper `_. """ -__version__ = "0.2.1" +__version__ = "0.2.2" __author__ = "Xavier Dupré" __github__ = "https://github.com/sdpython/pyquickhelper" __url__ = "http://www.xavierdupre.fr/app/pyquickhelper/helpsphinx/index.html" diff --git a/src/quicksetup/pyquicksetup/pyquick.py b/src/quicksetup/pyquicksetup/pyquick.py index 76f1378c..7665a106 100644 --- a/src/quicksetup/pyquicksetup/pyquick.py +++ b/src/quicksetup/pyquicksetup/pyquick.py @@ -249,7 +249,9 @@ def run(self): parameters['argv'].extend(['-e', f'"{self.e}"']) if self.g is not None: parameters['argv'].extend(['-g', f'"{self.g}"']) - process_standard_options_for_setup(**parameters) + res = process_standard_options_for_setup(**parameters) + if len(res['err']) > 0: + sys.exit(-1) class SetupCommandUnitTestGUI(_SetupCommand):