mirror of
https://github.com/python/cpython.git
synced 2025-12-31 04:23:37 +00:00
gh-117347: Fix test_clinic side effects (#117363)
Save/restore converters in ClinicWholeFileTest and ClinicExternalTest.
This commit is contained in:
parent
7e2fef8658
commit
35b6c4a4da
1 changed files with 18 additions and 0 deletions
|
|
@ -52,6 +52,20 @@ def _expect_failure(tc, parser, code, errmsg, *, filename=None, lineno=None,
|
|||
return cm.exception
|
||||
|
||||
|
||||
def restore_dict(converters, old_converters):
|
||||
converters.clear()
|
||||
converters.update(old_converters)
|
||||
|
||||
|
||||
def save_restore_converters(testcase):
|
||||
testcase.addCleanup(restore_dict, clinic.converters,
|
||||
clinic.converters.copy())
|
||||
testcase.addCleanup(restore_dict, clinic.legacy_converters,
|
||||
clinic.legacy_converters.copy())
|
||||
testcase.addCleanup(restore_dict, clinic.return_converters,
|
||||
clinic.return_converters.copy())
|
||||
|
||||
|
||||
class ClinicWholeFileTest(TestCase):
|
||||
maxDiff = None
|
||||
|
||||
|
|
@ -60,6 +74,7 @@ def expect_failure(self, raw, errmsg, *, filename=None, lineno=None):
|
|||
filename=filename, lineno=lineno)
|
||||
|
||||
def setUp(self):
|
||||
save_restore_converters(self)
|
||||
self.clinic = _make_clinic(filename="test.c")
|
||||
|
||||
def test_eol(self):
|
||||
|
|
@ -2431,6 +2446,9 @@ def test_state_func_docstring_only_one_param_template(self):
|
|||
class ClinicExternalTest(TestCase):
|
||||
maxDiff = None
|
||||
|
||||
def setUp(self):
|
||||
save_restore_converters(self)
|
||||
|
||||
def run_clinic(self, *args):
|
||||
with (
|
||||
support.captured_stdout() as out,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue