Merge branch 'pytest-2.7'
This commit is contained in:
commit
4d6fef36f4
3
AUTHORS
3
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
|
||||||
|
@ -33,6 +34,7 @@ Harald Armin Massa
|
||||||
Ian Bicking
|
Ian Bicking
|
||||||
Jaap Broekhuizen
|
Jaap Broekhuizen
|
||||||
Jan Balster
|
Jan Balster
|
||||||
|
Janne Vanhala
|
||||||
Jason R. Coombs
|
Jason R. Coombs
|
||||||
Jurko Gospodnetić
|
Jurko Gospodnetić
|
||||||
Katarzyna Jachim
|
Katarzyna Jachim
|
||||||
|
@ -51,4 +53,3 @@ Samuele Pedroni
|
||||||
Tom Viner
|
Tom Viner
|
||||||
Trevor Bekolay
|
Trevor Bekolay
|
||||||
Wouter van Ackooy
|
Wouter van Ackooy
|
||||||
Janne Vanhala
|
|
||||||
|
|
11
CHANGELOG
11
CHANGELOG
|
@ -65,6 +65,17 @@
|
||||||
- fix issue741: make running output from testdir.run copy/pasteable
|
- fix issue741: make running output from testdir.run copy/pasteable
|
||||||
Thanks Bruno Oliveira.
|
Thanks Bruno Oliveira.
|
||||||
|
|
||||||
|
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.
|
||||||
|
Thanks Punyashloka Biswal.
|
||||||
|
|
||||||
|
- fix issue735: assertion failures on debug versions of Python 3.4+
|
||||||
|
Thanks Benjamin Peterson.
|
||||||
|
|
||||||
2.7.1 (compared to 2.7.0)
|
2.7.1 (compared to 2.7.0)
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
|
@ -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.isdir(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.isdir(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)
|
||||||
|
|
|
@ -478,6 +478,16 @@ 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):
|
||||||
|
"""--junitxml should automatically create directories for the xml file"""
|
||||||
|
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,21 @@ def test_generic(testdir, LineMatcher):
|
||||||
"x *:test_xfail_norun",
|
"x *:test_xfail_norun",
|
||||||
])
|
])
|
||||||
|
|
||||||
|
def test_makedir_for_resultlog(testdir, LineMatcher):
|
||||||
|
"""--resultlog should automatically create directories for the log file"""
|
||||||
|
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