Fix: src.ctf.fs: initialize the other_entry variable
[babeltrace.git] / tests / utils / python / tap / adapter.py
CommitLineData
b85894a3
MJ
1# Copyright (c) 2016, Matt Layman
2
3
4class Adapter(object):
5 """The adapter processes a TAP test line and updates a unittest result.
6
7 It is an alternative to TestCase to collect TAP results.
8 """
9 failureException = AssertionError
10
11 def __init__(self, filename, line):
12 self._filename = filename
13 self._line = line
14
15 def shortDescription(self):
16 """Get the short description for verbeose results."""
17 return self._line.description
18
19 def __call__(self, result):
20 """Update test result with the lines in the TAP file.
21
22 Provide the interface that TestCase provides to a suite or runner.
23 """
24 result.startTest(self)
25
26 if self._line.skip:
27 result.addSkip(None, self._line.directive.reason)
28 return
29
30 if self._line.todo:
31 if self._line.ok:
32 result.addUnexpectedSuccess(self)
33 else:
34 result.addExpectedFailure(self, (Exception, Exception(), None))
35 return
36
37 if self._line.ok:
38 result.addSuccess(self)
39 else:
40 self.addFailure(result)
41
42 def addFailure(self, result):
43 """Add a failure to the result."""
44 result.addFailure(self, (Exception, Exception(), None))
45 # Since TAP will not provide assertion data, clean up the assertion
46 # section so it is not so spaced out.
47 test, err = result.failures[-1]
48 result.failures[-1] = (test, '')
49
50 def __repr__(self):
51 return '<file={filename}>'.format(filename=self._filename)
This page took 0.052321 seconds and 4 git commands to generate.