diff options
author | Victor Stinner <vstinner@python.org> | 2024-05-20 17:05:39 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-20 17:05:39 -0400 |
commit | 9257731f5d3e9d4f99e314b23a14506563e167d7 (patch) | |
tree | a98db26b692c3f952d4919e4aa0851a3ed863503 /Lib/test/libregrtest/single.py | |
parent | bf17986096491b9ca14c214ed4885340e7857e12 (diff) | |
download | cpython-9257731f5d3e9d4f99e314b23a14506563e167d7.tar.gz cpython-9257731f5d3e9d4f99e314b23a14506563e167d7.zip |
gh-119050: Add XML support to libregrtest refleak checker (#119148)
regrtest test runner: Add XML support to the refleak checker
(-R option).
* run_unittest() now stores XML elements as string, rather than
objects, in support.junit_xml_list.
* runtest_refleak() now saves/restores XML strings before/after
checking for reference leaks. Save XML into a temporary file.
Diffstat (limited to 'Lib/test/libregrtest/single.py')
-rw-r--r-- | Lib/test/libregrtest/single.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/Lib/test/libregrtest/single.py b/Lib/test/libregrtest/single.py index fc2f2716ad4..adc8f1f4555 100644 --- a/Lib/test/libregrtest/single.py +++ b/Lib/test/libregrtest/single.py @@ -57,7 +57,10 @@ def _run_suite(suite): result = runner.run(suite) if support.junit_xml_list is not None: - support.junit_xml_list.append(result.get_xml_element()) + import xml.etree.ElementTree as ET + xml_elem = result.get_xml_element() + xml_str = ET.tostring(xml_elem).decode('ascii') + support.junit_xml_list.append(xml_str) if not result.testsRun and not result.skipped and not result.errors: raise support.TestDidNotRun @@ -280,9 +283,7 @@ def _runtest(result: TestResult, runtests: RunTests) -> None: xml_list = support.junit_xml_list if xml_list: - import xml.etree.ElementTree as ET - result.xml_data = [ET.tostring(x).decode('us-ascii') - for x in xml_list] + result.xml_data = xml_list finally: if use_timeout: faulthandler.cancel_dump_traceback_later() |