[py-svn] r63547 - in py/trunk/py: . misc misc/testing test test/dist test/looponfail test/plugin test/testing

hpk at codespeak.net hpk at codespeak.net
Thu Apr 2 19:58:53 CEST 2009


Author: hpk
Date: Thu Apr  2 19:58:51 2009
New Revision: 63547

Modified:
   py/trunk/py/LICENSE
   py/trunk/py/_com.py
   py/trunk/py/misc/testing/test_com.py
   py/trunk/py/misc/testing/test_warn.py
   py/trunk/py/misc/warn.py
   py/trunk/py/test/dist/dsession.py
   py/trunk/py/test/looponfail/remote.py
   py/trunk/py/test/plugin/pytest_execnetcleanup.py
   py/trunk/py/test/plugin/pytest_plugintester.py
   py/trunk/py/test/plugin/pytest_resultdb.py
   py/trunk/py/test/plugin/pytest_terminal.py
   py/trunk/py/test/pytestplugin.py
   py/trunk/py/test/session.py
   py/trunk/py/test/testing/test_pytestplugin.py
Log:
renaming all event consumers to use the "__" convention that 
is also used for funcargs. 



Modified: py/trunk/py/LICENSE
==============================================================================
--- py/trunk/py/LICENSE	(original)
+++ py/trunk/py/LICENSE	Thu Apr  2 19:58:51 2009
@@ -1,9 +1,8 @@
-py lib Copyright holders, 2003-2008 
+py lib Copyright holders, 2003-2009
 =======================================
 
-Except when otherwise stated (look for LICENSE files or information at
-the beginning of each file) the files in the 'py' directory are
-copyrighted by one or more of the following people and organizations:
+The files in the 'py' directory are copyrighted by one or more
+of the following people and organizations:
 
     Holger Krekel, holger at merlinux eu
     Guido Wesdorp, johnny at johnnydebris net 

Modified: py/trunk/py/_com.py
==============================================================================
--- py/trunk/py/_com.py	(original)
+++ py/trunk/py/_com.py	Thu Apr  2 19:58:51 2009
@@ -9,7 +9,7 @@
 
 ::
     >>> class MyPlugin:
-    ...    def pyevent_plugin_registered(self, plugin):
+    ...    def pyevent__plugin_registered(self, plugin):
     ...       print "registering", plugin.__class__.__name__
     ... 
     >>> import py
@@ -149,7 +149,7 @@
 
     def notify(self, eventname, *args, **kwargs):
         #print "notifying", eventname, args, kwargs
-        MultiCall(self.listattr("pyevent_" + eventname), 
+        MultiCall(self.listattr("pyevent__" + eventname), 
              *args, **kwargs).execute()
         #print "calling anonymous hooks", args, kwargs
         MultiCall(self.listattr("pyevent"), 

Modified: py/trunk/py/misc/testing/test_com.py
==============================================================================
--- py/trunk/py/misc/testing/test_com.py	(original)
+++ py/trunk/py/misc/testing/test_com.py	Thu Apr  2 19:58:51 2009
@@ -100,9 +100,9 @@
         plugins = PyPlugins()
         l = []
         class MyApi:
-            def pyevent_plugin_registered(self, plugin):
+            def pyevent__plugin_registered(self, plugin):
                 l.append(plugin)
-            def pyevent_plugin_unregistered(self, plugin):
+            def pyevent__plugin_unregistered(self, plugin):
                 l.remove(plugin)
         myapi = MyApi()
         plugins.register(myapi)
@@ -178,7 +178,7 @@
         plugins = PyPlugins()
         l = []
         class api1:
-            def pyevent_hello(self): 
+            def pyevent__hello(self): 
                 l.append("hellospecific")
         class api2:
             def pyevent(self, name, *args): 
@@ -201,7 +201,7 @@
         excinfo = py.test.raises(ImportError, "plugins.consider_module(mod)")
         mod.pylib = "os"
         class Events(list):
-            def pyevent_importingmodule(self, mod):
+            def pyevent__importingmodule(self, mod):
                 self.append(mod)
         l = Events()
         plugins.register(l)
@@ -226,17 +226,17 @@
         old.chdir()
 
 class TestPyPluginsEvents:
-    def test_pyevent_named_dispatch(self):
+    def test_pyevent__named_dispatch(self):
         plugins = PyPlugins()
         l = []
         class A:
-            def pyevent_name(self, x): 
+            def pyevent__name(self, x): 
                 l.append(x)
         plugins.register(A())
         plugins.notify("name", 13)
         assert l == [13]
 
-    def test_pyevent_anonymous_dispatch(self):
+    def test_pyevent__anonymous_dispatch(self):
         plugins = PyPlugins()
         l = []
         class A:

Modified: py/trunk/py/misc/testing/test_warn.py
==============================================================================
--- py/trunk/py/misc/testing/test_warn.py	(original)
+++ py/trunk/py/misc/testing/test_warn.py	Thu Apr  2 19:58:51 2009
@@ -9,7 +9,7 @@
         self.bus.register(self)
         self.warnings = []
 
-    def pyevent_WARNING(self, warning):
+    def pyevent__WARNING(self, warning):
         self.warnings.append(warning)
 
     def test_event_generation(self):

Modified: py/trunk/py/misc/warn.py
==============================================================================
--- py/trunk/py/misc/warn.py	(original)
+++ py/trunk/py/misc/warn.py	Thu Apr  2 19:58:51 2009
@@ -18,7 +18,7 @@
         self.bus = bus
         bus.register(self)
         
-    def pyevent_WARNING(self, warning):
+    def pyevent__WARNING(self, warning):
         # forward to python warning system 
         py.std.warnings.warn_explicit(warning, category=Warning, 
             filename=str(warning.path), 

Modified: py/trunk/py/test/dist/dsession.py
==============================================================================
--- py/trunk/py/test/dist/dsession.py	(original)
+++ py/trunk/py/test/dist/dsession.py	Thu Apr  2 19:58:51 2009
@@ -25,27 +25,27 @@
         self.shuttingdown = False
         self.testsfailed = False
 
-    def pyevent_itemtestreport(self, event):
+    def pyevent__itemtestreport(self, event):
         if event.colitem in self.dsession.item2nodes:
             self.dsession.removeitem(event.colitem, event.node)
         if event.failed:
             self.testsfailed = True
 
-    def pyevent_collectionreport(self, event):
+    def pyevent__collectionreport(self, event):
         if event.passed:
             self.colitems.extend(event.result)
 
-    def pyevent_testnodeready(self, node):
+    def pyevent__testnodeready(self, node):
         self.dsession.addnode(node)
 
-    def pyevent_testnodedown(self, node, error=None):
+    def pyevent__testnodedown(self, node, error=None):
         pending = self.dsession.removenode(node)
         if pending:
             crashitem = pending[0]
             self.dsession.handle_crashitem(crashitem, node)
             self.colitems.extend(pending[1:])
 
-    def pyevent_rescheduleitems(self, event):
+    def pyevent__rescheduleitems(self, event):
         self.colitems.extend(event.items)
         self.dowork = False # avoid busywait
 

Modified: py/trunk/py/test/looponfail/remote.py
==============================================================================
--- py/trunk/py/test/looponfail/remote.py	(original)
+++ py/trunk/py/test/looponfail/remote.py	Thu Apr  2 19:58:51 2009
@@ -139,10 +139,10 @@
     session.shouldclose = channel.isclosed 
    
     class Failures(list):
-        def pyevent_itemtestreport(self, ev):
+        def pyevent__itemtestreport(self, ev):
             if ev.failed:
                 self.append(ev)
-        pyevent_collectionreport = pyevent_itemtestreport
+        pyevent__collectionreport = pyevent__itemtestreport
         
     failreports = Failures()
     session.bus.register(failreports)

Modified: py/trunk/py/test/plugin/pytest_execnetcleanup.py
==============================================================================
--- py/trunk/py/test/plugin/pytest_execnetcleanup.py	(original)
+++ py/trunk/py/test/plugin/pytest_execnetcleanup.py	Thu Apr  2 19:58:51 2009
@@ -11,21 +11,21 @@
         if self._debug:
             print "[execnetcleanup %0x] %s %s" %(id(self), msg, args)
         
-    def pyevent_gateway_init(self, gateway):
+    def pyevent__gateway_init(self, gateway):
         self.trace("init", gateway)
         if self._gateways is not None:
             self._gateways.append(gateway)
         
-    def pyevent_gateway_exit(self, gateway):
+    def pyevent__gateway_exit(self, gateway):
         self.trace("exit", gateway)
         if self._gateways is not None:
             self._gateways.remove(gateway)
 
-    def pyevent_testrunstart(self, event):
+    def pyevent__testrunstart(self, event):
         self.trace("testrunstart", event)
         self._gateways = []
 
-    def pyevent_testrunfinish(self, event):
+    def pyevent__testrunfinish(self, event):
         self.trace("testrunfinish", event)
         l = []
         for gw in self._gateways:

Modified: py/trunk/py/test/plugin/pytest_plugintester.py
==============================================================================
--- py/trunk/py/test/plugin/pytest_plugintester.py	(original)
+++ py/trunk/py/test/plugin/pytest_plugintester.py	Thu Apr  2 19:58:51 2009
@@ -76,7 +76,7 @@
         if fail:
             py.test.fail("Plugin API error")
 
-def collectattr(obj, prefixes=("pytest_", "pyevent_")):
+def collectattr(obj, prefixes=("pytest_", "pyevent__")):
     methods = {}
     for apiname in vars(obj): 
         for prefix in prefixes:
@@ -141,63 +141,63 @@
     def pyevent(self, eventname, *args, **kwargs):
         """ called for each testing event. """
 
-    def pyevent_gateway_init(self, gateway):
+    def pyevent__gateway_init(self, gateway):
         """ called after a gateway has been initialized. """
 
-    def pyevent_gateway_exit(self, gateway):
+    def pyevent__gateway_exit(self, gateway):
         """ called when gateway is being exited. """
 
-    def pyevent_gwmanage_rsyncstart(self, source, gateways):
+    def pyevent__gwmanage_rsyncstart(self, source, gateways):
         """ called before rsyncing a directory to remote gateways takes place. """
 
-    def pyevent_gwmanage_rsyncfinish(self, source, gateways):
+    def pyevent__gwmanage_rsyncfinish(self, source, gateways):
         """ called after rsyncing a directory to remote gateways takes place. """
 
-    def pyevent_trace(self, category, msg):
+    def pyevent__trace(self, category, msg):
         """ called for tracing events. """
 
-    def pyevent_internalerror(self, event):
+    def pyevent__internalerror(self, event):
         """ called for internal errors. """
 
-    def pyevent_itemstart(self, item, node):
+    def pyevent__itemstart(self, item, node):
         """ test item gets collected. """
 
-    def pyevent_itemtestreport(self, event):
+    def pyevent__itemtestreport(self, event):
         """ test has been run. """
 
-    def pyevent_deselected(self, event):
+    def pyevent__deselected(self, event):
         """ item has been dselected. """
 
-    def pyevent_collectionstart(self, event):
+    def pyevent__collectionstart(self, event):
         """ collector starts collecting. """
 
-    def pyevent_collectionreport(self, event):
+    def pyevent__collectionreport(self, event):
         """ collector finished collecting. """
 
-    def pyevent_testrunstart(self, event):
+    def pyevent__testrunstart(self, event):
         """ whole test run starts. """
 
-    def pyevent_testrunfinish(self, event):
+    def pyevent__testrunfinish(self, event):
         """ whole test run finishes. """
 
-    def pyevent_gwmanage_newgateway(self, gateway):
+    def pyevent__gwmanage_newgateway(self, gateway):
         """ execnet gateway manager has instantiated a gateway. 
             The gateway will have an 'id' attribute that is unique 
             within the gateway manager context. 
         """
-    def pyevent_testnodeready(self, node):
+    def pyevent__testnodeready(self, node):
         """ Node is ready to operate. """
 
-    def pyevent_testnodedown(self, node, error):
+    def pyevent__testnodedown(self, node, error):
         """ Node is down. """
 
-    def pyevent_rescheduleitems(self, event):
+    def pyevent__rescheduleitems(self, event):
         """ Items from a node that went down. """
 
-    def pyevent_looponfailinfo(self, event):
+    def pyevent__looponfailinfo(self, event):
         """ info for repeating failing tests. """
 
-    def pyevent_plugin_registered(self, plugin):
+    def pyevent__plugin_registered(self, plugin):
         """ a new py lib plugin got registered. """
         
    

Modified: py/trunk/py/test/plugin/pytest_resultdb.py
==============================================================================
--- py/trunk/py/test/plugin/pytest_resultdb.py	(original)
+++ py/trunk/py/test/plugin/pytest_resultdb.py	Thu Apr  2 19:58:51 2009
@@ -171,14 +171,14 @@
             shortrepr, longrepr = getoutcomecodes(event)
             self.write_log_entry(event, shortrepr, gpath, longrepr)
 
-    def pyevent_itemtestreport(self, event):
+    def pyevent__itemtestreport(self, event):
         self.log_outcome(event)
 
-    def pyevent_collectionreport(self, event):
+    def pyevent__collectionreport(self, event):
         if not event.passed:
             self.log_outcome(event)
 
-    def pyevent_internalerror(self, event):
+    def pyevent__internalerror(self, event):
         path = event.repr.reprcrash.path # fishing :(
         self.write_log_entry(event, '!', path, str(event.repr))
 

Modified: py/trunk/py/test/plugin/pytest_terminal.py
==============================================================================
--- py/trunk/py/test/plugin/pytest_terminal.py	(original)
+++ py/trunk/py/test/plugin/pytest_terminal.py	Thu Apr  2 19:58:51 2009
@@ -82,11 +82,11 @@
         else: 
             return "???", dict(red=True)
 
-    def pyevent_internalerror(self, event):
+    def pyevent__internalerror(self, event):
         for line in str(event.repr).split("\n"):
             self.write_line("InternalException: " + line)
 
-    def pyevent_gwmanage_newgateway(self, gateway, rinfo):
+    def pyevent__gwmanage_newgateway(self, gateway, rinfo):
         #self.write_line("%s instantiated gateway from spec %r" %(gateway.id, gateway.spec._spec))
         d = {}
         d['version'] = repr_pythonversion(rinfo.version_info)
@@ -105,18 +105,18 @@
         self.write_line(infoline)
         self.gateway2info[gateway] = infoline
 
-    def pyevent_gwmanage_rsyncstart(self, source, gateways):
+    def pyevent__gwmanage_rsyncstart(self, source, gateways):
         targets = ", ".join([gw.id for gw in gateways])
         msg = "rsyncstart: %s -> %s" %(source, targets)
         if not self.config.option.verbose:
             msg += " # use --verbose to see rsync progress"
         self.write_line(msg)
 
-    def pyevent_gwmanage_rsyncfinish(self, source, gateways):
+    def pyevent__gwmanage_rsyncfinish(self, source, gateways):
         targets = ", ".join([gw.id for gw in gateways])
         self.write_line("rsyncfinish: %s -> %s" %(source, targets))
 
-    def pyevent_plugin_registered(self, plugin):
+    def pyevent__plugin_registered(self, plugin):
         if self.config.option.traceconfig: 
             msg = "PLUGIN registered: %s" %(plugin,)
             # XXX this event may happen during setup/teardown time 
@@ -124,19 +124,19 @@
             #     which garbles our output if we use self.write_line 
             self.write_line(msg)
 
-    def pyevent_testnodeready(self, node):
+    def pyevent__testnodeready(self, node):
         self.write_line("%s txnode ready to receive tests" %(node.gateway.id,))
 
-    def pyevent_testnodedown(self, node, error):
+    def pyevent__testnodedown(self, node, error):
         if error:
             self.write_line("%s node down, error: %s" %(node.gateway.id, error))
 
-    def pyevent_trace(self, category, msg):
+    def pyevent__trace(self, category, msg):
         if self.config.option.debug or \
            self.config.option.traceconfig and category.find("config") != -1:
             self.write_line("[%s] %s" %(category, msg))
 
-    def pyevent_itemstart(self, item, node=None):
+    def pyevent__itemstart(self, item, node=None):
         if self.config.option.debug:
             info = item.repr_metainfo()
             line = info.verboseline(basedir=self.curdir) + " "
@@ -154,14 +154,14 @@
             #self.write_fspath_result(fspath, "")
             self.write_ensure_prefix(line, "") 
 
-    def pyevent_rescheduleitems(self, event):
+    def pyevent__rescheduleitems(self, event):
         if self.config.option.debug:
             self.write_sep("!", "RESCHEDULING %s " %(event.items,))
 
-    def pyevent_deselected(self, event):
+    def pyevent__deselected(self, event):
         self.stats.setdefault('deselected', []).append(event)
     
-    def pyevent_itemtestreport(self, event):
+    def pyevent__itemtestreport(self, event):
         fspath = event.colitem.fspath 
         cat, letter, word = self.getcategoryletterword(event)
         if isinstance(word, tuple):
@@ -184,7 +184,7 @@
                 self._tw.write(" " + line)
                 self.currentfspath = -2
 
-    def pyevent_collectionreport(self, event):
+    def pyevent__collectionreport(self, event):
         if not event.passed:
             if event.failed:
                 self.stats.setdefault("failed", []).append(event)
@@ -194,7 +194,7 @@
                 self.stats.setdefault("skipped", []).append(event)
                 self.write_fspath_result(event.colitem.fspath, "S")
 
-    def pyevent_testrunstart(self, event):
+    def pyevent__testrunstart(self, event):
         self.write_sep("=", "test session starts", bold=True)
         self._sessionstarttime = py.std.time.time()
 
@@ -219,7 +219,7 @@
         for i, testarg in py.builtin.enumerate(self.config.args):
             self.write_line("test object %d: %s" %(i+1, testarg))
 
-    def pyevent_testrunfinish(self, event):
+    def pyevent__testrunfinish(self, event):
         self._tw.line("")
         if event.exitstatus in (0, 1, 2):
             self.summary_failures()
@@ -232,7 +232,7 @@
         self.summary_deselected()
         self.summary_stats()
 
-    def pyevent_looponfailinfo(self, event):
+    def pyevent__looponfailinfo(self, event):
         if event.failreports:
             self.write_sep("#", "LOOPONFAILING", red=True)
             for report in event.failreports:
@@ -309,20 +309,20 @@
     def outindent(self, line):
         self.out.line(self.indent + str(line))
 
-    def pyevent_collectionstart(self, event):
+    def pyevent__collectionstart(self, event):
         self.outindent(event.collector)
         self.indent += self.INDENT 
     
-    def pyevent_itemstart(self, item, node=None):
+    def pyevent__itemstart(self, item, node=None):
         self.outindent(item)
 
-    def pyevent_collectionreport(self, event):
+    def pyevent__collectionreport(self, event):
         if not event.passed:
             self.outindent("!!! %s !!!" % event.longrepr.reprcrash.message)
             self._failed.append(event)
         self.indent = self.indent[:-len(self.INDENT)]
 
-    def pyevent_testrunfinish(self, event):
+    def pyevent__testrunfinish(self, event):
         if self._failed:
             self.out.sep("!", "collection failures")
         for event in self._failed:
@@ -438,7 +438,7 @@
         modcol = testdir.getmodulecol("def test_one(): pass")
         rep = TerminalReporter(modcol.config, file=linecomp.stringio)
         excinfo = py.test.raises(ValueError, "raise ValueError('hello')")
-        rep.pyevent_internalerror(event.InternalException(excinfo))
+        rep.pyevent__internalerror(event.InternalException(excinfo))
         linecomp.assert_contains_lines([
             "InternalException: >*raise ValueError*"
         ])
@@ -462,16 +462,16 @@
             platform = "xyz"
             cwd = "qwe"
 
-        rep.pyevent_gwmanage_newgateway(gw1, rinfo)
+        rep.pyevent__gwmanage_newgateway(gw1, rinfo)
         linecomp.assert_contains_lines([
             "X1*popen*xyz*2.5*"
         ])
 
-        rep.pyevent_gwmanage_rsyncstart(source="hello", gateways=[gw1, gw2])
+        rep.pyevent__gwmanage_rsyncstart(source="hello", gateways=[gw1, gw2])
         linecomp.assert_contains_lines([
             "rsyncstart: hello -> X1, X2"
         ])
-        rep.pyevent_gwmanage_rsyncfinish(source="hello", gateways=[gw1, gw2])
+        rep.pyevent__gwmanage_rsyncfinish(source="hello", gateways=[gw1, gw2])
         linecomp.assert_contains_lines([
             "rsyncfinish: hello -> X1, X2"
         ])
@@ -496,7 +496,7 @@
         """)
         rep = TerminalReporter(modcol.config, file=linecomp.stringio)
         reports = [basic_run_report(x) for x in modcol.collect()]
-        rep.pyevent_looponfailinfo(event.LooponfailingInfo(reports, [modcol.config.topdir]))
+        rep.pyevent__looponfailinfo(event.LooponfailingInfo(reports, [modcol.config.topdir]))
         linecomp.assert_contains_lines([
             "*test_looponfailreport.py:2: assert 0",
             "*test_looponfailreport.py:4: ValueError*",

Modified: py/trunk/py/test/pytestplugin.py
==============================================================================
--- py/trunk/py/test/pytestplugin.py	(original)
+++ py/trunk/py/test/pytestplugin.py	Thu Apr  2 19:58:51 2009
@@ -82,7 +82,7 @@
         mc = py._com.MultiCall(methods, parser=parser)
         mc.execute()
 
-    def pyevent_plugin_registered(self, plugin):
+    def pyevent__plugin_registered(self, plugin):
         if hasattr(self, '_config'):
             self.pyplugins.call_plugin(plugin, "pytest_addoption", parser=self._config._parser)
             self.pyplugins.call_plugin(plugin, "pytest_configure", config=self._config)

Modified: py/trunk/py/test/session.py
==============================================================================
--- py/trunk/py/test/session.py	(original)
+++ py/trunk/py/test/session.py	Thu Apr  2 19:58:51 2009
@@ -81,12 +81,12 @@
         """ setup any neccessary resources ahead of the test run. """
         self.bus.notify("testrunstart", event.TestrunStart())
         
-    def pyevent_itemtestreport(self, rep):
+    def pyevent__itemtestreport(self, rep):
         if rep.failed:
             self._testsfailed = True
             if self.config.option.exitfirst:
                 self.shouldstop = True
-    pyevent_collectionreport = pyevent_itemtestreport
+    pyevent__collectionreport = pyevent__itemtestreport
 
     def sessionfinishes(self, exitstatus=0, excinfo=None):
         """ teardown any resources after a test run. """ 

Modified: py/trunk/py/test/testing/test_pytestplugin.py
==============================================================================
--- py/trunk/py/test/testing/test_pytestplugin.py	(original)
+++ py/trunk/py/test/testing/test_pytestplugin.py	Thu Apr  2 19:58:51 2009
@@ -177,7 +177,7 @@
         class A:
             def pytest_configure(self, config):
                 l.append(self)
-            def pyevent_hello(self, obj):
+            def pyevent__hello(self, obj):
                 events.append(obj)
                 
         config.bus.register(A())



More information about the pytest-commit mailing list