MCPcopy Index your code
hub / github.com/RustPython/RustPython / _Outcome

Class _Outcome

Lib/unittest/case.py:50–88  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

48
49
50class _Outcome(object):
51 def __init__(self, result=None):
52 self.expecting_failure = False
53 self.result = result
54 self.result_supports_subtests = hasattr(result, "addSubTest")
55 self.success = True
56 self.expectedFailure = None
57
58 @contextlib.contextmanager
59 def testPartExecutor(self, test_case, subTest=False):
60 old_success = self.success
61 self.success = True
62 try:
63 yield
64 except KeyboardInterrupt:
65 raise
66 except SkipTest as e:
67 self.success = False
68 _addSkip(self.result, test_case, str(e))
69 except _ShouldStop:
70 pass
71 except:
72 exc_info = sys.exc_info()
73 if self.expecting_failure:
74 self.expectedFailure = exc_info
75 else:
76 self.success = False
77 if subTest:
78 self.result.addSubTest(test_case.test_case, test_case, exc_info)
79 else:
80 _addError(self.result, test_case, exc_info)
81 # explicitly break a reference cycle:
82 # exc_info -> frame -> exc_info
83 exc_info = None
84 else:
85 if subTest and self.success:
86 self.result.addSubTest(test_case.test_case, test_case, None)
87 finally:
88 self.success = self.success and old_success
89
90
91def _addSkip(result, test_case, reason):

Callers 3

testCleanUpWithErrorsMethod · 0.90
runMethod · 0.85
doCleanupsMethod · 0.85

Calls

no outgoing calls

Tested by 1

testCleanUpWithErrorsMethod · 0.72