1 new commit in pytest:
https://bitbucket.org/hpk42/pytest/commits/9b4dae68a5a4/
Changeset: 9b4dae68a5a4
User: hpk42
Date: 2013-09-27 15:48:03
Summary: add terminalreporter.section|line methods to print extra
information.
Affected #: 5 files
diff -r a9bfa2e8b08d7db4f2d68a63dcf80441666fe818 -r
9b4dae68a5a41d75bbe4c48b1b5d45806e522717 CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -142,7 +142,9 @@
- better parametrize error messages, thanks Brianna Laugher
-
+- pytest_terminal_summary(terminalreporter) hooks can now use
+ ".section(title)" and ".line(msg)" methods to print extra
+ information at the end of a test run.
Changes between 2.3.4 and 2.3.5
-----------------------------------
diff -r a9bfa2e8b08d7db4f2d68a63dcf80441666fe818 -r
9b4dae68a5a41d75bbe4c48b1b5d45806e522717 _pytest/hookspec.py
--- a/_pytest/hookspec.py
+++ b/_pytest/hookspec.py
@@ -221,7 +221,7 @@
pytest_report_teststatus.firstresult = True
def pytest_terminal_summary(terminalreporter):
- """ add additional section in terminal summary reporting. """
+ """ add additional section in terminal summary reporting. """
# -------------------------------------------------------------------------
# doctest hooks
diff -r a9bfa2e8b08d7db4f2d68a63dcf80441666fe818 -r
9b4dae68a5a41d75bbe4c48b1b5d45806e522717 _pytest/terminal.py
--- a/_pytest/terminal.py
+++ b/_pytest/terminal.py
@@ -100,7 +100,7 @@
self.startdir = self.curdir = py.path.local()
if file is None:
file = py.std.sys.stdout
- self._tw = py.io.TerminalWriter(file)
+ self._tw = self.writer = py.io.TerminalWriter(file)
self.currentfspath = None
self.reportchars = getreportopt(config)
self.hasmarkup = self._tw.hasmarkup
@@ -148,6 +148,12 @@
self.ensure_newline()
self._tw.sep(sep, title, **markup)
+ def section(self, title, sep="=", **kw):
+ self._tw.sep(sep, title, **kw)
+
+ def line(self, msg, **kw):
+ self._tw.line(msg, **kw)
+
def pytest_internalerror(self, excrepr):
for line in str(excrepr).split("\n"):
self.write_line("INTERNALERROR> " + line)
@@ -179,6 +185,7 @@
res = self.config.hook.pytest_report_teststatus(report=rep)
cat, letter, word = res
self.stats.setdefault(cat, []).append(rep)
+ self._tests_ran = True
if not letter and not word:
# probably passed setup/teardown
return
diff -r a9bfa2e8b08d7db4f2d68a63dcf80441666fe818 -r
9b4dae68a5a41d75bbe4c48b1b5d45806e522717 testing/test_mark.py
--- a/testing/test_mark.py
+++ b/testing/test_mark.py
@@ -317,7 +317,7 @@
request.applymarker(pytest.mark.hello)
def pytest_terminal_summary(terminalreporter):
l = terminalreporter.stats['passed']
- terminalreporter._tw.line("keyword: %s" % l[0].keywords)
+ terminalreporter.writer.line("keyword: %s" % l[0].keywords)
""")
testdir.makepyfile("""
def test_func(arg):
diff -r a9bfa2e8b08d7db4f2d68a63dcf80441666fe818 -r
9b4dae68a5a41d75bbe4c48b1b5d45806e522717 testing/test_terminal.py
--- a/testing/test_terminal.py
+++ b/testing/test_terminal.py
@@ -699,3 +699,16 @@
result.stdout.fnmatch_lines([
'*File *test_tbstyle_native_setup_error.py", line *, in
setup_error_fixture*'
])
+
+def test_terminal_summary(testdir):
+ testdir.makeconftest("""
+ def pytest_terminal_summary(terminalreporter):
+ w = terminalreporter
+ w.section("hello")
+ w.line("world")
+ """)
+ result = testdir.runpytest()
+ result.stdout.fnmatch_lines("""
+ *==== hello ====*
+ world
+ """)
Repository URL: https://bitbucket.org/hpk42/pytest/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
_______________________________________________
pytest-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pytest-commit