[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