diff --git a/tests/integration/full/full_test_deposition.py b/tests/integration/full/full_test_deposition.py index e204d79c3ca9ff6128aef8ec54935d2a329edf43..cb3772eee9c15b3b46a427d3dc88738220dc9d04 100644 --- a/tests/integration/full/full_test_deposition.py +++ b/tests/integration/full/full_test_deposition.py @@ -49,6 +49,8 @@ class FullTestDeposition(BaseDepoTestSuite.DepoTestSuite): if __name__ == '__main__': - IntegrationTestUtils.run_full_integration_test_pipeline(FullTestDeposition, - test_prefix = "deposition", - processor_dir = BaseDepoTestSuite.DepoTestSuite.DEPO_PROCESSOR_DIR) + _success: bool = IntegrationTestUtils.run_full_integration_test_pipeline(FullTestDeposition, + test_prefix = "deposition", + processor_dir = BaseDepoTestSuite.DepoTestSuite.DEPO_PROCESSOR_DIR) + if not _success: + exit(1) \ No newline at end of file diff --git a/tests/integration/full/full_test_env_suit.py b/tests/integration/full/full_test_env_suit.py index 0b61ffa11b10f5cd01b779e5d7da789e04904eb8..49181b1ffca3df837404f71a58043c52ca48d2b8 100644 --- a/tests/integration/full/full_test_env_suit.py +++ b/tests/integration/full/full_test_env_suit.py @@ -1,5 +1,6 @@ import copy import os +from unittest import TextTestRunner from integration.partial.integration_test_utils import IntegrationTestUtils from integration.test_suites.env_suit_test_suite import BaseEnvSuitTestSuite @@ -51,6 +52,8 @@ class FullTestEnvSuit(BaseEnvSuitTestSuite.EnvSuitTestSuite): if __name__ == '__main__': - IntegrationTestUtils.run_full_integration_test_pipeline(FullTestEnvSuit, - test_prefix = "env", - processor_dir = BaseEnvSuitTestSuite.EnvSuitTestSuite.ENV_PROCESSOR_DIR) + _success: bool = IntegrationTestUtils.run_full_integration_test_pipeline(FullTestEnvSuit, + test_prefix = "env", + processor_dir = BaseEnvSuitTestSuite.EnvSuitTestSuite.ENV_PROCESSOR_DIR) + if not _success: + exit(1) diff --git a/tests/integration/partial/integration_test_utils.py b/tests/integration/partial/integration_test_utils.py index 82474ef9328621c6127eeebfe276a7f8ce5fa1b7..78f8c6492f76f350489f6b225e9ba13477963132 100644 --- a/tests/integration/partial/integration_test_utils.py +++ b/tests/integration/partial/integration_test_utils.py @@ -4,9 +4,10 @@ import glob import json import os import sys +import unittest from importlib import reload from typing import List -from unittest import TestSuite, TestLoader, TestCase +from unittest import TestSuite, TestLoader, TestCase, TestResult from zipfile import ZipFile from HtmlTestRunner import HTMLTestRunner @@ -43,7 +44,7 @@ class IntegrationTestUtils: @staticmethod def run_full_integration_test_pipeline(test_case: [TestCase], test_prefix: str, - processor_dir: str): + processor_dir: str) -> bool: _parser = IntegrationTestUtils.build_arg_parser() @@ -71,14 +72,16 @@ class IntegrationTestUtils: IntegrationTestUtils.TEST_START_DATE) # Now set the sys.argv to the unittest_args (leaving sys.argv[0] alone) - sys.argv[1:] = _args.unittest_args + # sys.argv[1:] = _args.unittest_args tests: TestSuite = TestLoader().loadTestsFromTestCase(test_case) if _test_report_dir is None: _test_report_dir = IntegrationTestUtils.TEST_JOB_DIR runner = HTMLTestRunner(output = _test_report_dir, combine_reports = True) - runner.run(tests) + result: TestResult = runner.run(tests) + return result.wasSuccessful() + @staticmethod def load_json_file(file: str) -> dict: diff --git a/tests/integration/partial/run_test_suite.py b/tests/integration/partial/run_test_suite.py index 6eb6b535982978790bd2a49669729f8d50829912..ffbc4a6d0ad5c471fcde51222fd254634dc08b60 100644 --- a/tests/integration/partial/run_test_suite.py +++ b/tests/integration/partial/run_test_suite.py @@ -1,9 +1,10 @@ import sys import unittest -from unittest import TestLoader, TestSuite +from unittest import TestLoader, TestSuite, TestResult +import HtmlTestRunner from HtmlTestRunner import HTMLTestRunner - +from HtmlTestRunner.result import HtmlTestResult from integration.partial.test_deposition import TestDeposition from integration.partial.test_env_suit import TestEnvSuit @@ -14,9 +15,9 @@ from integration.partial.test_advisory import TestAdvisory def build_test_runner() -> TestSuite: tests: TestSuite = TestSuite() tests.addTests(TestLoader().loadTestsFromTestCase(TestDeposition)) - tests.addTests(TestLoader().loadTestsFromTestCase(TestEnvSuit)) - tests.addTests(TestLoader().loadTestsFromTestCase(TestSurvey)) - tests.addTests(TestLoader().loadTestsFromTestCase(TestAdvisory)) + # tests.addTests(TestLoader().loadTestsFromTestCase(TestEnvSuit)) + # tests.addTests(TestLoader().loadTestsFromTestCase(TestSurvey)) + # tests.addTests(TestLoader().loadTestsFromTestCase(TestAdvisory)) return tests @@ -24,4 +25,6 @@ if __name__ == '__main__': _output_dir = sys.argv.pop() _tests = build_test_runner() _runner = HTMLTestRunner(output=_output_dir, combine_reports = True) - unittest.main(testRunner = _runner) + _result: TestResult = _runner.run(_tests) + if not _result.wasSuccessful(): + sys.exit(1) diff --git a/tests/integration/partial/test_deposition.py b/tests/integration/partial/test_deposition.py index aff5001c49cd783cb9595bfc3cbf0d6b0049f36e..3e09ddcdeda5c7886990e3358be5dfa475105d3d 100644 --- a/tests/integration/partial/test_deposition.py +++ b/tests/integration/partial/test_deposition.py @@ -24,7 +24,7 @@ class TestDeposition(BaseDepoTestSuite.DepoTestSuite): if IntegrationTestUtils.TEST_OUT_PATH is None or not os.path.isdir(IntegrationTestUtils.TEST_OUT_PATH): TestDeposition.write_temp_run_config_file() - TestDeposition.run_depo_pipeline() + # TestDeposition.run_depo_pipeline() else: print(f"output in {IntegrationTestUtils.TEST_OUT_PATH} already written, skipping rerun")