Merge branch 'pytest-2.7' of github.com:curzona/pytest into pytest-2.7
Conflicts: AUTHORS CHANGELOG
This commit is contained in:
commit
2a1424e563
2
AUTHORS
2
AUTHORS
|
@ -8,6 +8,7 @@ Andreas Zeidler
|
||||||
Andy Freeland
|
Andy Freeland
|
||||||
Anthon van der Neut
|
Anthon van der Neut
|
||||||
Armin Rigo
|
Armin Rigo
|
||||||
|
Aron Curzon
|
||||||
Benjamin Peterson
|
Benjamin Peterson
|
||||||
Bob Ippolito
|
Bob Ippolito
|
||||||
Brian Dorsey
|
Brian Dorsey
|
||||||
|
@ -22,6 +23,7 @@ Christopher Gilling
|
||||||
Daniel Grana
|
Daniel Grana
|
||||||
Daniel Nuri
|
Daniel Nuri
|
||||||
Dave Hunt
|
Dave Hunt
|
||||||
|
Dave Hunt
|
||||||
David Mohr
|
David Mohr
|
||||||
Floris Bruynooghe
|
Floris Bruynooghe
|
||||||
Graham Horler
|
Graham Horler
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
2.7.2 (compared to 2.7.1)
|
2.7.2 (compared to 2.7.1)
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
|
- Automatically create directory for junitxml and results log.
|
||||||
|
Thanks Aron Curzon.
|
||||||
|
|
||||||
- fix issue713: JUnit XML reports for doctest failures.
|
- fix issue713: JUnit XML reports for doctest failures.
|
||||||
Thanks Punyashloka Biswal.
|
Thanks Punyashloka Biswal.
|
||||||
|
|
||||||
|
|
|
@ -205,6 +205,9 @@ class LogXML(object):
|
||||||
self.suite_start_time = time.time()
|
self.suite_start_time = time.time()
|
||||||
|
|
||||||
def pytest_sessionfinish(self):
|
def pytest_sessionfinish(self):
|
||||||
|
dirname = os.path.dirname(os.path.abspath(self.logfile))
|
||||||
|
if not os.path.exists(dirname):
|
||||||
|
os.makedirs(dirname)
|
||||||
logfile = open(self.logfile, 'w', encoding='utf-8')
|
logfile = open(self.logfile, 'w', encoding='utf-8')
|
||||||
suite_stop_time = time.time()
|
suite_stop_time = time.time()
|
||||||
suite_time_delta = suite_stop_time - self.suite_start_time
|
suite_time_delta = suite_stop_time - self.suite_start_time
|
||||||
|
|
|
@ -3,6 +3,7 @@ text file.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import py
|
import py
|
||||||
|
import os
|
||||||
|
|
||||||
def pytest_addoption(parser):
|
def pytest_addoption(parser):
|
||||||
group = parser.getgroup("terminal reporting", "resultlog plugin options")
|
group = parser.getgroup("terminal reporting", "resultlog plugin options")
|
||||||
|
@ -14,6 +15,9 @@ def pytest_configure(config):
|
||||||
resultlog = config.option.resultlog
|
resultlog = config.option.resultlog
|
||||||
# prevent opening resultlog on slave nodes (xdist)
|
# prevent opening resultlog on slave nodes (xdist)
|
||||||
if resultlog and not hasattr(config, 'slaveinput'):
|
if resultlog and not hasattr(config, 'slaveinput'):
|
||||||
|
dirname = os.path.dirname(os.path.abspath(resultlog))
|
||||||
|
if not os.path.exists(dirname):
|
||||||
|
os.makedirs(dirname)
|
||||||
logfile = open(resultlog, 'w', 1) # line buffered
|
logfile = open(resultlog, 'w', 1) # line buffered
|
||||||
config._resultlog = ResultLog(config, logfile)
|
config._resultlog = ResultLog(config, logfile)
|
||||||
config.pluginmanager.register(config._resultlog)
|
config.pluginmanager.register(config._resultlog)
|
||||||
|
|
|
@ -474,6 +474,15 @@ def test_logxml_changingdir(testdir):
|
||||||
assert result.ret == 0
|
assert result.ret == 0
|
||||||
assert testdir.tmpdir.join("a/x.xml").check()
|
assert testdir.tmpdir.join("a/x.xml").check()
|
||||||
|
|
||||||
|
def test_logxml_makedir(testdir):
|
||||||
|
testdir.makepyfile("""
|
||||||
|
def test_pass():
|
||||||
|
pass
|
||||||
|
""")
|
||||||
|
result = testdir.runpytest("--junitxml=path/to/results.xml")
|
||||||
|
assert result.ret == 0
|
||||||
|
assert testdir.tmpdir.join("path/to/results.xml").check()
|
||||||
|
|
||||||
def test_escaped_parametrized_names_xml(testdir):
|
def test_escaped_parametrized_names_xml(testdir):
|
||||||
testdir.makepyfile("""
|
testdir.makepyfile("""
|
||||||
import pytest
|
import pytest
|
||||||
|
|
|
@ -180,6 +180,20 @@ def test_generic(testdir, LineMatcher):
|
||||||
"x *:test_xfail_norun",
|
"x *:test_xfail_norun",
|
||||||
])
|
])
|
||||||
|
|
||||||
|
def test_makedir_for_resultlog(testdir, LineMatcher):
|
||||||
|
testdir.plugins.append("resultlog")
|
||||||
|
testdir.makepyfile("""
|
||||||
|
import pytest
|
||||||
|
def test_pass():
|
||||||
|
pass
|
||||||
|
""")
|
||||||
|
testdir.runpytest("--resultlog=path/to/result.log")
|
||||||
|
lines = testdir.tmpdir.join("path/to/result.log").readlines(cr=0)
|
||||||
|
LineMatcher(lines).fnmatch_lines([
|
||||||
|
". *:test_pass",
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
def test_no_resultlog_on_slaves(testdir):
|
def test_no_resultlog_on_slaves(testdir):
|
||||||
config = testdir.parseconfig("-p", "resultlog", "--resultlog=resultlog")
|
config = testdir.parseconfig("-p", "resultlog", "--resultlog=resultlog")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue