[py-svn] py-trunk commit 73b1a73c0ca8: remove figleaf which now lives "outside"
commits-noreply at bitbucket.org
commits-noreply at bitbucket.org
Wed Jan 13 00:47:59 CET 2010
# HG changeset patch -- Bitbucket.org
# Project py-trunk
# URL http://bitbucket.org/hpk42/py-trunk/overview/
# User holger krekel <holger at merlinux.eu>
# Date 1263340040 -3600
# Node ID 73b1a73c0ca8f0c2d246daf5b33222c8f8bafad6
# Parent e725bce364b87e0f3bb79345999ac38418207993
remove figleaf which now lives "outside"
--- a/doc/test/plugin/figleaf.txt
+++ b/doc/test/plugin/figleaf.txt
@@ -1,33 +1,17 @@
-
pytest_figleaf plugin
=====================
-report python test coverage using the 'figleaf' package.
+add options to drive and report python test coverage using the 'figleaf' package.
-.. contents::
- :local:
+Install the `pytest-figleaf`_ plugin to use figleaf coverage testing::
-Not enabled by default (use "-p" or conftest settings to do so).
+ easy_install pytest-figleaf
-command line options
---------------------
+or::
+
+ pip install pytest-figleaf
+This will make py.test have figleaf related options.
-``--figleaf``
- trace python coverage with figleaf and write HTML for files below the current working dir
-``--fig-data=dir``
- set tracing file, default: ".figleaf".
-``--fig-html=dir``
- set html reporting dir, default "html".
+.. _`pytest-figleaf`: http://bitbucket.org/hpk42/pytest-figleaf/
-Start improving this plugin in 30 seconds
-=========================================
-
-
-1. Download `pytest_figleaf.py`_ plugin source code
-2. put it somewhere as ``pytest_figleaf.py`` into your import path
-3. a subsequent ``py.test`` run will use your local version
-
-Checkout customize_, other plugins_ or `get in contact`_.
-
-.. include:: links.txt
--- a/py/plugin/pytest_figleaf.py
+++ /dev/null
@@ -1,54 +0,0 @@
-"""
-report python test coverage using the 'figleaf' package.
-
-Not enabled by default (use "-p" or conftest settings to do so).
-"""
-import py
-py.test.importorskip("figleaf")
-import figleaf.annotate_html
-
-def pytest_addoption(parser):
- group = parser.getgroup('figleaf options')
- group.addoption('--figleaf', action='store_true', default=False,
- dest = 'figleaf',
- help=('trace python coverage with figleaf and write HTML '
- 'for files below the current working dir'))
- group.addoption('--fig-data', action='store', default='.figleaf',
- dest='figleafdata', metavar="dir",
- help='set tracing file, default: ".figleaf".')
- group.addoption('--fig-html', action='store', default='html',
- dest='figleafhtml', metavar="dir",
- help='set html reporting dir, default "html".')
-
-def pytest_configure(config):
- if config.getvalue("figleaf"):
- figleaf.start()
-
-def pytest_terminal_summary(terminalreporter):
- config = terminalreporter.config
- if not config.getvalue("figleaf"):
- return
- datafile = py.path.local(config.getvalue('figleafdata'))
- tw = terminalreporter._tw
- tw.sep('-', 'figleaf')
- tw.line('Writing figleaf data to %s' % (datafile))
- figleaf.stop()
- figleaf.write_coverage(str(datafile))
- coverage = get_coverage(datafile, config)
- reportdir = py.path.local(config.getvalue('figleafhtml'))
- tw.line('Writing figleaf html to file://%s' % (reportdir))
- figleaf.annotate_html.prepare_reportdir(str(reportdir))
- exclude = []
- figleaf.annotate_html.report_as_html(coverage,
- str(reportdir), exclude, {})
-
-def get_coverage(datafile, config):
- # basepath = config.topdir
- basepath = py.path.local()
- data = figleaf.read_coverage(str(datafile))
- d = {}
- coverage = figleaf.combine_coverage(d, data)
- for path in coverage.keys():
- if not py.path.local(path).relto(basepath):
- del coverage[path]
- return coverage
--- a/doc/test/plugin/terminal.txt
+++ b/doc/test/plugin/terminal.txt
@@ -23,12 +23,6 @@ command line options
traceback verboseness (long/short/no).
``--fulltrace``
don't cut any tracebacks (default is to cut).
-``--traceconfig``
- trace considerations of conftest.py files.
-``--nomagic``
- don't reinterpret asserts, no traceback cutting.
-``--debug``
- generate and show internal debugging information.
Start improving this plugin in 30 seconds
=========================================
--- a/doc/test/plugin/links.txt
+++ b/doc/test/plugin/links.txt
@@ -1,5 +1,5 @@
.. _`pytest_logxml.py`: http://bitbucket.org/hpk42/py-trunk/raw/1.2.0a1/py/plugin/pytest_logxml.py
-.. _`terminal`: terminal.html
+.. _`helpconfig`: helpconfig.html
.. _`pytest_recwarn.py`: http://bitbucket.org/hpk42/py-trunk/raw/1.2.0a1/py/plugin/pytest_recwarn.py
.. _`unittest`: unittest.html
.. _`pytest_monkeypatch.py`: http://bitbucket.org/hpk42/py-trunk/raw/1.2.0a1/py/plugin/pytest_monkeypatch.py
@@ -17,10 +17,9 @@
.. _`restdoc`: restdoc.html
.. _`pytest_pastebin.py`: http://bitbucket.org/hpk42/py-trunk/raw/1.2.0a1/py/plugin/pytest_pastebin.py
.. _`pytest_tmpdir.py`: http://bitbucket.org/hpk42/py-trunk/raw/1.2.0a1/py/plugin/pytest_tmpdir.py
-.. _`pytest_figleaf.py`: http://bitbucket.org/hpk42/py-trunk/raw/1.2.0a1/py/plugin/pytest_figleaf.py
+.. _`terminal`: terminal.html
.. _`pytest_hooklog.py`: http://bitbucket.org/hpk42/py-trunk/raw/1.2.0a1/py/plugin/pytest_hooklog.py
.. _`logxml`: logxml.html
-.. _`helpconfig`: helpconfig.html
.. _`pytest_skipping.py`: http://bitbucket.org/hpk42/py-trunk/raw/1.2.0a1/py/plugin/pytest_skipping.py
.. _`checkout the py.test development version`: ../../install.html#checkout
.. _`pytest_helpconfig.py`: http://bitbucket.org/hpk42/py-trunk/raw/1.2.0a1/py/plugin/pytest_helpconfig.py
--- a/doc/test/plugin/hookspec.txt
+++ b/doc/test/plugin/hookspec.txt
@@ -115,6 +115,9 @@ hook specification sourcecode
# hooks for influencing reporting (invoked from pytest_terminal)
# -------------------------------------------------------------------------
+ def pytest_report_header(config):
+ """ return a string to be displayed as header info for terminal reporting."""
+
def pytest_report_teststatus(report):
""" return result-category, shortletter and verbose word for reporting."""
pytest_report_teststatus.firstresult = True
--- a/doc/test/plugin/index.txt
+++ b/doc/test/plugin/index.txt
@@ -8,9 +8,9 @@ mark_ generic mechanism for marking pyth
pdb_ interactive debugging with the Python Debugger.
-figleaf_ report python test coverage using the 'figleaf' package.
+figleaf_ (external) for testing with Titus' figleaf coverage module
-coverage_ (3rd) for testing with Ned's coverage module
+coverage_ (external) for testing with Ned's coverage module
monkeypatch_ safely patch object attributes, dicts and environment variables.
@@ -24,9 +24,9 @@ tmpdir_ provide temporary directories to
testing domains
===============
-oejskit_ (3rd) run javascript tests in real life browsers
+oejskit_ (external) run javascript tests in real life browsers
-django_ (3rd) for testing django applications
+django_ (external) for testing django applications
genscript_ generate standalone test script to be distributed along with an application.
@@ -38,7 +38,7 @@ pastebin_ submit failure or test session
logxml_ logging of test results in JUnit-XML format, for use with Hudson
-xmlresult_ (3rd) for generating xml reports and CruiseControl integration
+xmlresult_ (external) for generating xml reports and CruiseControl integration
resultlog_ non-xml machine-readable logging of test results.
--- a/testing/plugin/test_pytest_figleaf.py
+++ /dev/null
@@ -1,17 +0,0 @@
-import py
-
-def test_functional(testdir):
- py.test.importorskip("figleaf")
- testdir.makepyfile("""
- def f():
- x = 42
- def test_whatever():
- pass
- """)
- result = testdir.runpytest('--figleaf')
- assert result.ret == 0
- assert result.stdout.fnmatch_lines([
- '*figleaf html*'
- ])
- #print result.stdout.str()
-
--- a/doc/test/plugin/helpconfig.txt
+++ b/doc/test/plugin/helpconfig.txt
@@ -17,6 +17,12 @@ command line options
display py lib version and import information.
``-p name``
early-load given plugin (multi-allowed).
+``--traceconfig``
+ trace considerations of conftest.py files.
+``--nomagic``
+ don't reinterpret asserts, no traceback cutting.
+``--debug``
+ generate and show internal debugging information.
``--help-config``
show available conftest.py and ENV-variable names.
--- a/bin-for-dist/makepluginlist.py
+++ b/bin-for-dist/makepluginlist.py
@@ -22,6 +22,7 @@ plugins = [
externals = {
'oejskit': "run javascript tests in real life browsers",
+ 'figleaf': "for testing with Titus' figleaf coverage module",
'django': "for testing django applications",
'coverage': "for testing with Ned's coverage module ",
'xmlresult': "for generating xml reports "
@@ -137,7 +138,7 @@ class PluginOverview(RestWriter):
docpath = self.target.dirpath(name).new(ext=".txt")
if oneliner is not None:
htmlpath = docpath.new(ext='.html')
- self.para("%s_ (3rd) %s" %(name, oneliner))
+ self.para("%s_ (external) %s" %(name, oneliner))
self.add_internal_link(name, htmlpath)
else:
doc = PluginDoc(docpath)
More information about the pytest-commit
mailing list