예제 #1
0
 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])
예제 #2
0
 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())
예제 #3
0
 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())
예제 #4
0
 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])
예제 #5
0
 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)
예제 #6
0
 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'>: 
         ------------------------------------------------------------
         '''))
예제 #7
0
 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)))
예제 #8
0
 def test_run_seq_empty(self):
     test.run([make_seqtc([])])
예제 #9
0
 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])
예제 #10
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])
예제 #11
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])
예제 #12
0
 def test_run_run(self):
     test.run([make_tc(
         rfunc=self.flip_n_switch(0))])
     self.assertTrue(self.switches[0])
예제 #13
0
 def test_run_empty(self):
     test.run([])