unittest.py

changeset 127
97de6058109e
parent 126
16dae12ac0f0
child 145
fde18c4d6784
equal deleted inserted replaced
126:16dae12ac0f0 127:97de6058109e
100 100
101 def format_problem_tuple(problem_tuple): 101 def format_problem_tuple(problem_tuple):
102 return problem_tuple[0] + ':' + str(problem_tuple[1]) 102 return problem_tuple[0] + ':' + str(problem_tuple[1])
103 103
104 def run_unit_test_suite(): 104 def run_unit_test_suite():
105 from argparse import ArgumentParser
106 parser = ArgumentParser()
107 parser.add_argument('-d', '--debug', action = 'store_true')
108 args = parser.parse_args()
105 config = load_config() 109 config = load_config()
106 test_suite = load_tests() 110 test_suite = load_tests()
107 num_tested = 0 111 num_tested = 0
108 num_passed = 0 112 num_passed = 0
109 all_problem_types = all_problem_type_names(test_suite) 113 all_problem_types = all_problem_type_names(test_suite)
115 unit_test_path, 119 unit_test_path,
116 config = config, 120 config = config,
117 test_suite = test_suite 121 test_suite = test_suite
118 ) 122 )
119 except Exception as error: 123 except Exception as error:
120 print(str.format( 124 if args.debug:
121 'Error running {test_name}: {error}', 125 raise
122 test_name = unit_test_path.name, 126 else:
123 error = str(error), 127 print(str.format(
124 )) 128 'Error running {test_name}: {error}',
129 test_name = unit_test_path.name,
130 error = str(error),
131 ))
125 else: 132 else:
126 print(str.format( 133 print(str.format(
127 '{name}: {verdict}', 134 '{name}: {verdict}',
128 name = unit_test_path.name, 135 name = unit_test_path.name,
129 verdict = ('FAILED', 'PASSED')[unit_test_report['passed']], 136 verdict = ('FAILED', 'PASSED')[unit_test_report['passed']],

mercurial