(self, *args, **kwargs)
| 189 | |
| 190 | class TestCase(testcase.D8TestCase): |
| 191 | def __init__(self, *args, **kwargs): |
| 192 | super(TestCase, self).__init__(*args, **kwargs) |
| 193 | |
| 194 | source = self.get_source() |
| 195 | self.test_record = self.suite.parse_test_record(source, self.path) |
| 196 | self._expected_exception = ( |
| 197 | self.test_record |
| 198 | .get('negative', {}) |
| 199 | .get('type', None) |
| 200 | ) |
| 201 | self._async = 'async' in self.test_record.get('flags', []) |
| 202 | |
| 203 | # We disallow combining FAIL_PHASE_ONLY with any other fail outcome types. |
| 204 | # Outcome parsing logic in the base class converts all outcomes specified in |
| 205 | # the status file into either FAIL, CRASH or PASS, thus we do not need to |
| 206 | # handle FAIL_OK, FAIL_SLOPPY and various other outcomes. |
| 207 | if self.fail_phase_only: |
| 208 | assert ( |
| 209 | statusfile.FAIL not in self.expected_outcomes and |
| 210 | statusfile.CRASH not in self.expected_outcomes), self.name |
| 211 | |
| 212 | @property |
| 213 | def fail_phase_only(self): |
no test coverage detected