From 9feae41c4f04ca27fd2c865807a5caeb50bf4fc4 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 23 Mar 2021 01:40:31 +0100 Subject: bpo-41718: libregrtest avoids importing datetime (GH-24985) * libregrtest reimplements datetime.timedelta.__str__() * support.testresult only imports datetime if USE_XML is true. --- Lib/test/libregrtest/main.py | 8 +++++--- Lib/test/support/testresult.py | 3 +-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Lib/test/libregrtest/main.py b/Lib/test/libregrtest/main.py index 793c99a..1df927d 100644 --- a/Lib/test/libregrtest/main.py +++ b/Lib/test/libregrtest/main.py @@ -1,4 +1,3 @@ -import datetime import faulthandler import locale import os @@ -150,9 +149,12 @@ class Regrtest: # add the timestamp prefix: "0:01:05 " test_time = time.monotonic() - self.start_time - test_time = datetime.timedelta(seconds=int(test_time)) - line = f"{test_time} {line}" + mins, secs = divmod(int(test_time), 60) + hours, mins = divmod(mins, 60) + test_time = "%d:%02d:%02d" % (hours, mins, secs) + + line = f"{test_time} {line}" if empty: line = line[:-1] diff --git a/Lib/test/support/testresult.py b/Lib/test/support/testresult.py index 6be3e52..670afbe 100644 --- a/Lib/test/support/testresult.py +++ b/Lib/test/support/testresult.py @@ -9,8 +9,6 @@ import time import traceback import unittest -from datetime import datetime - class RegressionTestResult(unittest.TextTestResult): separator1 = '=' * 70 + '\n' separator2 = '-' * 70 + '\n' @@ -21,6 +19,7 @@ class RegressionTestResult(unittest.TextTestResult): self.buffer = True if self.USE_XML: from xml.etree import ElementTree as ET + from datetime import datetime self.__ET = ET self.__suite = ET.Element('testsuite') self.__suite.set('start', datetime.utcnow().isoformat(' ')) -- cgit v0.12