~vila/ubuntu-test-cases/retry-apt-get-update

« back to all changes in this revision

Viewing changes to selftests/test_junit2utah.py

  • Committer: Leo Arias
  • Date: 2014-11-10 19:28:56 UTC
  • mfrom: (345 touch)
  • mto: This revision was merged to the branch mainline in revision 352.
  • Revision ID: leo.arias@canonical.com-20141110192856-rgpksx9n9j0b39yl
Merged with the touch branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import StringIO
 
2
import os
 
3
import sys
 
4
import unittest
 
5
 
 
6
here = os.path.dirname(__file__)
 
7
sys.path.append(os.path.join(here, '../scripts'))
 
8
 
 
9
import junit2utah
 
10
 
 
11
RESULT = '''
 
12
<testsuite errors="0" failures="1" name="" tests="4" time="0.001">
 
13
<testcase classname="classname" name="testFails" time="0.000">
 
14
<failure type="testtools.testresult.real._StringException">
 
15
testtools.testresult.real._StringException: Traceback (most recent call last):
 
16
  File "junit2utah.py", line 14, in testFails
 
17
    self.assertFalse(True)
 
18
  File "/usr/lib/python2.7/unittest/case.py", line 418, in assertFalse
 
19
    raise self.failureException(msg)
 
20
AssertionError: True is not false
 
21
</failure>
 
22
</testcase>
 
23
<testcase classname="classname" name="testPasses" time="0.100"/>
 
24
<testcase classname="classname" name="testPasses2" time="0.200"/>
 
25
<testcase classname="classname" name="testSkip" time="0.000">
 
26
<skip>ensure skip works</skip>
 
27
</testcase>
 
28
</testsuite>
 
29
'''
 
30
 
 
31
 
 
32
class TestJunit2Utah(unittest.TestCase):
 
33
    def testFull(self):
 
34
        stream = StringIO.StringIO(RESULT)
 
35
        results = junit2utah._get_results(stream)
 
36
        self.assertEquals(3, results['passes'])
 
37
        self.assertEquals(1, results['failures'])
 
38
        self.assertEquals(0, results['errors'])
 
39
 
 
40
        tcs = results['commands']
 
41
        self.assertEqual('classname', tcs[0]['testsuite'])
 
42
        self.assertEqual('testFails', tcs[0]['testcase'])
 
43
        self.assertIn('AssertionError', tcs[0]['stderr'])
 
44
 
 
45
        self.assertEqual('0.200', tcs[2]['time_delta'])
 
46
 
 
47
        self.assertEqual('classname', tcs[3]['testsuite'])
 
48
        self.assertEqual('testSkip', tcs[3]['testcase'])
 
49
        self.assertEqual('ensure skip works', tcs[3]['stdout'])