~ubuntu-branches/ubuntu/saucy/pyjunitxml/saucy-proposed

« back to all changes in this revision

Viewing changes to junitxml/tests/test_junitxml.py

  • Committer: Bazaar Package Importer
  • Author(s): Robert Collins
  • Date: 2009-09-24 10:26:23 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20090924102623-ftw9mdr0lm2ui4cn
Tags: 0.3-1
Upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
37
37
            r'(?s)<error (.*?)>.*?</error>', r'<error \1>error</error>',
38
38
            re.sub(r'time="\d+\.\d+"', 'time="0.000"', output)))
39
39
 
 
40
    def run_test_or_simulate(self, test, method_name, manual_method,
 
41
        *manual_args):
 
42
        if getattr(test, method_name, None):
 
43
            test.run(self.result)
 
44
        else:
 
45
            # older python - manually execute
 
46
            self.result.startTest(test)
 
47
            manual_method(test, *manual_args)
 
48
            self.result.stopTest(test)
 
49
 
40
50
    def test_startTestRun_no_output(self):
41
51
        # startTestRun doesn't output anything, because JUnit wants an up-front
42
52
        # summary.
94
104
    def test_skip_test(self):
95
105
        class Skips(unittest.TestCase):
96
106
            def test_me(self):
97
 
                try:
98
 
                    self.skipTest("yo")
99
 
                except AttributeError:
100
 
                    # Older python - degrade to a pass
101
 
                    pass
 
107
                self.skipTest("yo")
102
108
        self.result.startTestRun()
103
 
        Skips("test_me").run(self.result)
 
109
        test = Skips("test_me")
 
110
        self.run_test_or_simulate(test, 'skipTest', self.result.addSkip, 'yo')
104
111
        self.result.stopTestRun()
105
112
        output = self.get_output()
106
113
        expected = """<testsuite errors="0" failures="0" name="" tests="0" time="0.000">
107
114
<testcase classname="junitxml.tests.test_junitxml.Skips" name="test_me" time="0.000">
108
 
<skip type="unittest.SkipTest">yo</skip>
 
115
<skip>yo</skip>
109
116
</testcase>
110
117
</testsuite>
111
118
"""
112
 
        expected_old = """<testsuite errors="0" failures="0" name="" tests="0" time="0.000">
113
 
<testcase classname="junitxml.tests.test_junitxml.Skips" name="test_me" time="0.000" />
114
 
</testsuite>
115
 
"""
116
 
        if output != expected_old:
117
 
            self.assertEqual(expected, output)
 
119
        self.assertEqual(expected, output)
118
120
 
119
121
    def test_unexpected_success_test(self):
120
122
        class Succeeds(unittest.TestCase):