[py-svn] r62108 - py/branch/pytestplugin/py/test/plugin
hpk at codespeak.net
hpk at codespeak.net
Tue Feb 24 15:11:38 CET 2009
Author: hpk
Date: Tue Feb 24 15:11:35 2009
New Revision: 62108
Modified:
py/branch/pytestplugin/py/test/plugin/ (props changed)
py/branch/pytestplugin/py/test/plugin/conftest.py
py/branch/pytestplugin/py/test/plugin/pytest_apigen.py
py/branch/pytestplugin/py/test/plugin/pytest_eventlog.py
py/branch/pytestplugin/py/test/plugin/pytest_plugintester.py
py/branch/pytestplugin/py/test/plugin/pytest_pocoo.py
py/branch/pytestplugin/py/test/plugin/pytest_pytester.py
py/branch/pytestplugin/py/test/plugin/pytest_resultlog.py
py/branch/pytestplugin/py/test/plugin/pytest_terminal.py (contents, props changed)
py/branch/pytestplugin/py/test/plugin/pytest_tmpdir.py
py/branch/pytestplugin/py/test/plugin/pytest_unittest.py
py/branch/pytestplugin/py/test/plugin/pytest_xfail.py
Log:
* add "Plugin" to plugin class names.
* a new "monkeypatch" plugin
* fixeol
Modified: py/branch/pytestplugin/py/test/plugin/conftest.py
==============================================================================
--- py/branch/pytestplugin/py/test/plugin/conftest.py (original)
+++ py/branch/pytestplugin/py/test/plugin/conftest.py Tue Feb 24 15:11:35 2009
@@ -6,3 +6,10 @@
def consider_file(self, path):
if path.basename.startswith("pytest_") and path.ext == ".py":
return self.Module(path, parent=self)
+
+# XXX plugin
+#class ConftestPlugin:
+# def pytest_consider_file(self, path, parent):
+# if path.basename.startswith("pytest_") and path.ext == ".py":
+# return parent.Module(path, parent=parent)
+
Modified: py/branch/pytestplugin/py/test/plugin/pytest_apigen.py
==============================================================================
--- py/branch/pytestplugin/py/test/plugin/pytest_apigen.py (original)
+++ py/branch/pytestplugin/py/test/plugin/pytest_apigen.py Tue Feb 24 15:11:35 2009
@@ -1,7 +1,6 @@
import py
-
-class Apigen:
+class ApigenPlugin:
pytest_cmdlineoptions = [
py.test.config.Option(
'--apigen',
@@ -50,7 +49,7 @@
terminalreporter.write_line("apigen build completed")
def test_generic(plugintester):
- plugintester.apicheck(Apigen)
+ plugintester.apicheck(ApigenPlugin)
def test_simple(testdir):
sub = testdir.tmpdir.mkdir("test_simple")
Modified: py/branch/pytestplugin/py/test/plugin/pytest_eventlog.py
==============================================================================
--- py/branch/pytestplugin/py/test/plugin/pytest_eventlog.py (original)
+++ py/branch/pytestplugin/py/test/plugin/pytest_eventlog.py Tue Feb 24 15:11:35 2009
@@ -1,15 +1,15 @@
import py
-class Eventlog:
- """ eventlog plugin for logging pytest events to a file. """
+class EventlogPlugin:
+ """ log pytest events to a file. """
pytest_cmdlineoptions = [
- py.test.config.Option('--eventlog', action='store', dest="eventlog",
+ py.test.config.Option('--eventlog', dest="eventlog",
help="write all pytest events to a specific file")
]
def pytest_configure(self, config):
eventlog = config.option.eventlog
if eventlog:
- self.eventlogfile = py.path.local(eventlog).open("w")
+ self.eventlogfile = open(eventlog, 'w')
def pytest_unconfigure(self, config):
if hasattr(self, 'eventlogfile'):
@@ -27,7 +27,7 @@
# ===============================================================================
def test_generic(plugintester):
- plugintester.apicheck(Eventlog)
+ plugintester.apicheck(EventlogPlugin)
testdir = plugintester.testdir()
testdir.makepyfile("""
Modified: py/branch/pytestplugin/py/test/plugin/pytest_plugintester.py
==============================================================================
--- py/branch/pytestplugin/py/test/plugin/pytest_plugintester.py (original)
+++ py/branch/pytestplugin/py/test/plugin/pytest_plugintester.py Tue Feb 24 15:11:35 2009
@@ -3,7 +3,8 @@
"""
import py
-class Plugintester:
+class PlugintesterPlugin:
+ """ test support code for testing pytest plugins. """
def pytest_pyfuncarg_plugintester(self, pyfuncitem):
pt = PluginTester(pyfuncitem)
pyfuncitem.addfinalizer(pt.finalize)
@@ -140,4 +141,4 @@
# ===============================================================================
def test_generic(plugintester):
- plugintester.apicheck(Plugintester)
+ plugintester.apicheck(PlugintesterPlugin)
Modified: py/branch/pytestplugin/py/test/plugin/pytest_pocoo.py
==============================================================================
--- py/branch/pytestplugin/py/test/plugin/pytest_pocoo.py (original)
+++ py/branch/pytestplugin/py/test/plugin/pytest_pocoo.py Tue Feb 24 15:11:35 2009
@@ -8,7 +8,8 @@
xmlrpc = base + "/xmlrpc/"
show = base + "/show/"
-class Pocoo(object):
+class PocooPlugin(object):
+ """ report URLs from sending test failures to the http://paste.pocoo.org service. """
pytest_cmdlineoptions = [
py.test.config.Option('--pocoo-sendfailures',
action='store_true', dest="pocoo_sendfailures",
@@ -36,10 +37,12 @@
terminalreporter.write_line("%s%s\n" % (url.show, id))
break
+
def test_apicheck(plugintester):
- plugintester.apicheck(Pocoo)
+ plugintester.apicheck(PocooPlugin)
-def test_toproxy(testdir):
+pytest_plugins = 'pytest_monkeypatch',
+def test_toproxy(testdir, monkeypatch):
testdir.makepyfile(conftest="pytest_plugins='pytest_pocoo',")
testpath = testdir.makepyfile("""
import py
@@ -54,11 +57,6 @@
class MockProxy:
def newPaste(self, language, code):
l.append((language, code))
-
- old = Pocoo.getproxy
- Pocoo.getproxy = MockProxy
- try:
- result = testdir.inline_run(testpath, "--pocoo-sendfailures")
- finally:
- Pocoo.getproxy = old
- assert len(l) == 1
+
+ monkeypatch.setattr(PocooPlugin, 'getproxy', MockProxy)
+ result = testdir.inline_run(testpath, "--pocoo-sendfailures")
Modified: py/branch/pytestplugin/py/test/plugin/pytest_pytester.py
==============================================================================
--- py/branch/pytestplugin/py/test/plugin/pytest_pytester.py (original)
+++ py/branch/pytestplugin/py/test/plugin/pytest_pytester.py Tue Feb 24 15:11:35 2009
@@ -5,6 +5,24 @@
import py
from py.__.test import event
+class PytesterPlugin:
+ def pytest_pyfuncarg_linecomp(self, pyfuncitem):
+ return LineComp()
+
+ def pytest_pyfuncarg_LineMatcher(self, pyfuncitem):
+ return LineMatcher
+
+ def pytest_pyfuncarg_testdir(self, pyfuncitem):
+ tmptestdir = TmpTestdir(pyfuncitem)
+ pyfuncitem.addfinalizer(tmptestdir.finalize)
+ return tmptestdir
+
+ def pytest_pyfuncarg_EventRecorder(self, pyfuncitem):
+ return EventRecorder
+
+def test_generic(plugintester):
+ plugintester.apicheck(PytesterPlugin)
+
class RunResult:
def __init__(self, ret, outlines, errlines):
self.ret = ret
@@ -383,17 +401,3 @@
return extralines
-class Pytester:
- def pytest_pyfuncarg_linecomp(self, pyfuncitem):
- return LineComp()
-
- def pytest_pyfuncarg_LineMatcher(self, pyfuncitem):
- return LineMatcher
-
- def pytest_pyfuncarg_testdir(self, pyfuncitem):
- tmptestdir = TmpTestdir(pyfuncitem)
- pyfuncitem.addfinalizer(tmptestdir.finalize)
- return tmptestdir
-
- def pytest_pyfuncarg_EventRecorder(self, pyfuncitem):
- return EventRecorder
Modified: py/branch/pytestplugin/py/test/plugin/pytest_resultlog.py
==============================================================================
--- py/branch/pytestplugin/py/test/plugin/pytest_resultlog.py (original)
+++ py/branch/pytestplugin/py/test/plugin/pytest_resultlog.py Tue Feb 24 15:11:35 2009
@@ -1,6 +1,6 @@
import py
-class Resultlog:
+class ResultlogPlugin:
"""resultlog plugin for machine-readable logging of test results.
Useful for buildbot integration code.
"""
@@ -232,7 +232,7 @@
assert 'ValueError' in entry
def test_generic(plugintester, LineMatcher):
- plugintester.apicheck(Resultlog)
+ plugintester.apicheck(ResultlogPlugin)
testdir = plugintester.testdir()
testdir.makepyfile("""
import py
Modified: py/branch/pytestplugin/py/test/plugin/pytest_terminal.py
==============================================================================
--- py/branch/pytestplugin/py/test/plugin/pytest_terminal.py (original)
+++ py/branch/pytestplugin/py/test/plugin/pytest_terminal.py Tue Feb 24 15:11:35 2009
@@ -1,8 +1,8 @@
import py
import sys
-class Terminal(object):
- """ Terminal Reporter plugin to write information about test run to terminal. """
+class TerminalPlugin(object):
+ """ Report a test run to a terminal. """
pytest_cmdlineoptions = [
py.test.config.Option('', '--collectonly',
action="store_true", dest="collectonly",
Modified: py/branch/pytestplugin/py/test/plugin/pytest_tmpdir.py
==============================================================================
--- py/branch/pytestplugin/py/test/plugin/pytest_tmpdir.py (original)
+++ py/branch/pytestplugin/py/test/plugin/pytest_tmpdir.py Tue Feb 24 15:11:35 2009
@@ -9,9 +9,8 @@
"""
import py
-class Tmpdir:
- """ pytest plugin for providing temporary directories
- to test functions and methods.
+class TmpdirPlugin:
+ """ provide temporary directories to test functions and methods.
"""
def pytest_pyfuncarg_tmpdir(self, pyfuncitem):
basename = "_".join(pyfuncitem.listnames())
@@ -25,11 +24,11 @@
# ===============================================================================
#
def test_generic(plugintester):
- plugintester.apicheck(Tmpdir)
+ plugintester.apicheck(TmpdirPlugin)
def test_pyfuncarg(testdir):
item = testdir.getitem("def test_func(tmpdir): pass")
- tmpdir = Tmpdir()
+ tmpdir = TmpdirPlugin()
p = tmpdir.pytest_pyfuncarg_tmpdir(item)
assert p.check()
assert p.basename.endswith("test_func")
Modified: py/branch/pytestplugin/py/test/plugin/pytest_unittest.py
==============================================================================
--- py/branch/pytestplugin/py/test/plugin/pytest_unittest.py (original)
+++ py/branch/pytestplugin/py/test/plugin/pytest_unittest.py Tue Feb 24 15:11:35 2009
@@ -15,8 +15,8 @@
"""
import py
-class Unittest:
- """ Plugin for discovering and integrating traditional Python Unittest tests.
+class UnittestPlugin:
+ """ discover and integrate traditional ``unittest.py`` tests.
"""
def pytest_pymodule_makeitem(self, modcol, name, obj):
if py.std.inspect.isclass(obj) and issubclass(obj, py.std.unittest.TestCase):
@@ -71,7 +71,7 @@
def test_generic(plugintester):
- plugintester.apicheck(Unittest)
+ plugintester.apicheck(UnittestPlugin)
def test_simple_unittest(testdir):
testpath = testdir.makepyfile("""
Modified: py/branch/pytestplugin/py/test/plugin/pytest_xfail.py
==============================================================================
--- py/branch/pytestplugin/py/test/plugin/pytest_xfail.py (original)
+++ py/branch/pytestplugin/py/test/plugin/pytest_xfail.py Tue Feb 24 15:11:35 2009
@@ -1,5 +1,5 @@
"""
-py.test xfail plugin for marking and reporting "expected to fail" tests.
+for marking and reporting "expected to fail" tests.
@py.test.keywords(xfail="needs refactoring")
def test_hello():
...
@@ -7,7 +7,8 @@
"""
import py
-class Xfail(object):
+class XfailPlugin(object):
+ """ mark and report specially about "expected to fail" tests. """
def pytest_report_teststatus(self, event):
""" return shortletter and verbose word. """
if 'xfail' in event.keywords:
@@ -43,7 +44,7 @@
# ===============================================================================
def test_generic(plugintester):
- plugintester.apicheck(Xfail)
+ plugintester.apicheck(XfailPlugin)
def test_xfail(plugintester, linecomp):
testdir = plugintester.testdir()
More information about the pytest-commit
mailing list