summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2021-03-23 01:40:31 +0100
committerGitHub <noreply@github.com>2021-03-23 01:40:31 +0100
commit9feae41c4f04ca27fd2c865807a5caeb50bf4fc4 (patch)
treefbc3f75717ab19ca03643b86549f38c42fcff48e
parent30793e81bd90f3346e962435d49073bc588f067c (diff)
downloadcpython-git-9feae41c4f04ca27fd2c865807a5caeb50bf4fc4.tar.gz
bpo-41718: libregrtest avoids importing datetime (GH-24985)
* libregrtest reimplements datetime.timedelta.__str__() * support.testresult only imports datetime if USE_XML is true.
-rw-r--r--Lib/test/libregrtest/main.py8
-rw-r--r--Lib/test/support/testresult.py3
2 files changed, 6 insertions, 5 deletions
diff --git a/Lib/test/libregrtest/main.py b/Lib/test/libregrtest/main.py
index 793c99a8f4..1df927da40 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 6be3e5250a..670afbea26 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(' '))