def test_run_seq_until_error(self): result_set = test.run([make_seqtc([ ('one', self.flip_n_switch(0)), ('two', self.allways_raise()), ('trhee', self.flip_n_switch(1))], name='seq')]) self.assertTrue(result_set[0].errored()) self.assertTrue(self.switches[0]) self.assertFalse(self.switches[1])
def test_run_pass_result(self): result_set = test.run([make_tc( rfunc = self.donothing(), name='pass')]) result = result_set[0] self.assertTrue(result.passed()) self.assertFalse(result.errored()) self.assertFalse(result.failed()) self.assertFalse(result.skipped())
def test_run_skipped_result(self): result_set = test.run([make_tc( rfunc = self.allways_skip(), name='skipped')]) result = result_set[0] self.assertFalse(result.passed()) self.assertFalse(result.errored()) self.assertFalse(result.failed()) self.assertTrue(result.skipped())
def test_run_seq_allrun(self): result_set = test.run([make_seqtc([ ('one', self.flip_n_switch(0)), ('two', self.flip_n_switch(1)), ('three', self.flip_n_switch(2))], name='seq')]) self.assertTrue(result_set[0].passed()) self.assertTrue(self.switches[0]) self.assertTrue(self.switches[1]) self.assertTrue(self.switches[2])
def test_persistance_seq_error(self): result_set = test.run([make_seqtc([ ('one', self.flip_n_switch(0)), ('two', self.allways_raise())], name = 'seq')]) read_result_set = util.withtmp( lambda f: pickle.dump(result_set, f), lambda f: pickle.load(f)) for i in range(len(result_set)): self.assertEqual(result_set[i].status, read_result_set[i].status) self.assertEqual(result_set[i].testcase_name, read_result_set[i].testcase_name) for j in range(len(result_set[i].sub_results)): self.assertEqual(result_set[i].sub_results[j].status, read_result_set[i].sub_results[j].status) self.assertEqual(result_set[i].sub_results[j].testcase_name, read_result_set[i].sub_results[j].testcase_name)
def test_pretty_print(self): def pretty_print_to_string(results_iter): sio = util.StringIO() test.pretty_print_results(results_iter, outfile=sio) return sio.getvalue() results_iter = iter([ test.TestResult.make_pass(test.TestResult, Named('i-pass')), test.TestResult.make_error(test.UnhandledExceptionTestResult, Named('i-error'), Exception, Exception(), None), test.TestResult.make_fail(test.FailedTestResult, Named('i-fail'), reason='Oops'), test.TestResult.make_skipped(test.TestResult, Named('i-skip')) ]) self.assertEqual(pretty_print_to_string(results_iter), textwrap.dedent('''\ Passed: 1 Errors: 1 Failed: 1 Skipped: 1 ============================================================ error: i-error ------------------------------------------------------------ <class 'Exception'>: ------------------------------------------------------------ ============================================================ fail: i-fail ------------------------------------------------------------ Oops ------------------------------------------------------------ ''')) result_set = test.run([make_seqtc([ ('one', self.flip_n_switch(0)), ('two', self.flip_n_switch(1)), ('three', self.flip_n_switch(2))], name='seq')]) result_set_fail = test.run([make_seqtc([ ('one', self.flip_n_switch(0)), ('two', lambda s: test.TestResult.make_fail(test.FailedTestResult, s, 'Oops')), ('trhee', self.flip_n_switch(1))], name='seq')]) result_set_error = test.run([make_seqtc([ ('one', self.flip_n_switch(0)), ('two', lambda s: test.TestResult.make_error(test.UnhandledExceptionTestResult, s, Exception, Exception(), None))], name = 'seq')]) compound_set = pretty_print_to_string(result_set) compound_set_fail = pretty_print_to_string(result_set_fail) compound_set_error = pretty_print_to_string(result_set_error) self.assertEqual(compound_set, textwrap.dedent('''\ Passed: 1 Errors: 0 Failed: 0 Skipped: 0 ''')) self.assertEqual(compound_set_fail, textwrap.dedent('''\ Passed: 0 Errors: 0 Failed: 1 Skipped: 0 ============================================================ fail: seq ------------------------------------------------------------ pass: one fail: two Oops ------------------------------------------------------------ ''')) self.assertEqual(compound_set_error, textwrap.dedent('''\ Passed: 0 Errors: 1 Failed: 0 Skipped: 0 ============================================================ error: seq ------------------------------------------------------------ pass: one error: two <class 'Exception'>: ------------------------------------------------------------ '''))
def test_persistance_one_pass(self): result_set = test.run([make_tc(self.allways_pass(), name='tc-name')]) read_result_set = util.withtmp( lambda f: pickle.dump(result_set, f), lambda f: pickle.load(f)) self.assertEqual(list(map(vars,result_set)), list(map(vars,read_result_set)))
def test_run_seq_empty(self): test.run([make_seqtc([])])
def test_run_teardown_allways(self): test.run([make_tc( rfunc = self.allways_raise(), tdfunc = self.flip_n_switch(0))]) self.assertTrue(self.switches[0])
def test_run_teardownlast(self): test.run([make_tc( rfunc = self.flip_n_switch(1), tdfunc = self.flip_n_switch_if_m(0,1))]) self.assertTrue(self.switches[0])
def test_run_setupfirst(self): test.run([make_tc( rfunc = self.flip_n_switch_if_m(0,1), sufunc = self.flip_n_switch(1))]) self.assertTrue(self.switches[0])
def test_run_run(self): test.run([make_tc( rfunc=self.flip_n_switch(0))]) self.assertTrue(self.switches[0])
def test_run_empty(self): test.run([])