junitxml: add timezone to testsuite timestamp (#12491)
Signed-off-by: joseph-sentry <joseph.sawaya@sentry.io> Co-authored-by: Ronny Pfannschmidt <opensource@ronnypfannschmidt.de>
This commit is contained in:
parent
f74e947c1f
commit
0ed2d79457
1
AUTHORS
1
AUTHORS
|
@ -213,6 +213,7 @@ Jordan Guymon
|
|||
Jordan Moldow
|
||||
Jordan Speicher
|
||||
Joseph Hunkeler
|
||||
Joseph Sawaya
|
||||
Josh Karpel
|
||||
Joshua Bronson
|
||||
Jurko Gospodnetić
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Added timezone information to the testsuite timestamp in the JUnit XML report.
|
|
@ -11,6 +11,7 @@ https://github.com/jenkinsci/xunit-plugin/blob/master/src/main/resources/org/jen
|
|||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
from datetime import timezone
|
||||
import functools
|
||||
import os
|
||||
import platform
|
||||
|
@ -664,7 +665,9 @@ class LogXML:
|
|||
skipped=str(self.stats["skipped"]),
|
||||
tests=str(numtests),
|
||||
time=f"{suite_time_delta:.3f}",
|
||||
timestamp=datetime.fromtimestamp(self.suite_start_time).isoformat(),
|
||||
timestamp=datetime.fromtimestamp(self.suite_start_time, timezone.utc)
|
||||
.astimezone()
|
||||
.isoformat(),
|
||||
hostname=platform.node(),
|
||||
)
|
||||
global_properties = self._get_global_properties_node()
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
from datetime import timezone
|
||||
import os
|
||||
from pathlib import Path
|
||||
import platform
|
||||
|
@ -218,11 +219,11 @@ class TestPython:
|
|||
pass
|
||||
"""
|
||||
)
|
||||
start_time = datetime.now()
|
||||
start_time = datetime.now(timezone.utc)
|
||||
result, dom = run_and_parse(family=xunit_family)
|
||||
node = dom.find_first_by_tag("testsuite")
|
||||
timestamp = datetime.strptime(node["timestamp"], "%Y-%m-%dT%H:%M:%S.%f")
|
||||
assert start_time <= timestamp < datetime.now()
|
||||
timestamp = datetime.strptime(node["timestamp"], "%Y-%m-%dT%H:%M:%S.%f%z")
|
||||
assert start_time <= timestamp < datetime.now(timezone.utc)
|
||||
|
||||
def test_timing_function(
|
||||
self, pytester: Pytester, run_and_parse: RunAndParse, mock_timing
|
||||
|
|
Loading…
Reference in New Issue