Add hostname and timestamp to JUnit XML testsuite tag

Fix #5471
This commit is contained in:
Samuel Searles-Bryant
2019-08-03 15:11:36 +01:00
parent 29e336bd9b
commit 1ce45a6f67
3 changed files with 31 additions and 0 deletions
+26
View File
@@ -1,4 +1,6 @@
import os
import platform
from datetime import datetime
from xml.dom import minidom
import py
@@ -139,6 +141,30 @@ class TestPython:
node = dom.find_first_by_tag("testsuite")
node.assert_attr(name="pytest", errors=1, failures=2, skipped=1, tests=5)
def test_hostname_in_xml(self, testdir):
testdir.makepyfile(
"""
def test_pass():
pass
"""
)
result, dom = runandparse(testdir)
node = dom.find_first_by_tag("testsuite")
node.assert_attr(hostname=platform.node())
def test_timestamp_in_xml(self, testdir):
testdir.makepyfile(
"""
def test_pass():
pass
"""
)
start_time = datetime.now()
result, dom = runandparse(testdir)
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()
def test_timing_function(self, testdir):
testdir.makepyfile(
"""