from unittest import TestSuite, defaultTestLoader from HtmlTestRunner import HTMLTestRunner import sys import os TEST_TYPES = ['unit', 'demos'] if __name__ == '__main__': test_folder = 'tests' assert len(sys.argv) == 4 test_type = sys.argv[1] branch = sys.argv[2] build_num = sys.argv[3] assert test_type in TEST_TYPES test_suite = TestSuite() all_test_cases = defaultTestLoader.discover( os.path.join(test_folder, test_type), 'test*.py') # Loop the found test cases and add them into test suite. for test_case in all_test_cases: test_suite.addTests(test_case) runner = HTMLTestRunner( output='reports/%s' % str(build_num), report_name=test_type, add_timestamp=False, combine_reports=True) result = runner.run(test_suite) # Will be 0 if tests ran OK sys.exit(1 if len(result.failures) + len(result.errors) > 0 else 0)