[py-svn] r63899 - in py/trunk/py: . misc/testing test

hpk at codespeak.net hpk at codespeak.net
Thu Apr 9 16:34:54 CEST 2009


Author: hpk
Date: Thu Apr  9 16:34:53 2009
New Revision: 63899

Modified:
   py/trunk/py/_com.py
   py/trunk/py/misc/testing/test_com.py
   py/trunk/py/test/pluginmanager.py
   py/trunk/py/test/pycollect.py
Log:
more consistent naming 


Modified: py/trunk/py/_com.py
==============================================================================
--- py/trunk/py/_com.py	(original)
+++ py/trunk/py/_com.py	Thu Apr  9 16:34:53 2009
@@ -71,27 +71,27 @@
     def __init__(self, plugins=None):
         if plugins is None:
             plugins = []
-        self.plugins = plugins
+        self._plugins = plugins
 
     def register(self, plugin):
         assert not isinstance(plugin, str)
         self.call_each("pytest_plugin_registered", plugin)
-        self.plugins.append(plugin)
+        self._plugins.append(plugin)
 
     def unregister(self, plugin):
         self.call_each("pytest_plugin_unregistered", plugin)
-        self.plugins.remove(plugin)
+        self._plugins.remove(plugin)
 
     def isregistered(self, plugin):
-        return plugin in self.plugins 
+        return plugin in self._plugins 
 
     def __iter__(self):
-        return iter(self.plugins)
+        return iter(self._plugins)
 
     def listattr(self, attrname, plugins=None, extra=(), reverse=False):
         l = []
         if plugins is None:
-            plugins = self.plugins
+            plugins = self._plugins
         if extra:
             plugins += list(extra)
         for plugin in plugins:
@@ -117,31 +117,31 @@
 
 
 class PluginAPI: 
-    def __init__(self, apiclass, plugins=None):
+    def __init__(self, apiclass, registry=None):
         self._apiclass = apiclass
-        if plugins is None:
-            plugins = comregistry
-        self.plugins = plugins
+        if registry is None:
+            registry = comregistry
+        self.registry = registry
         for name, method in vars(apiclass).items():
             if name[:2] != "__":
                 firstresult = getattr(method, 'firstresult', False)
-                mm = ApiCall(plugins, name, firstresult=firstresult)
+                mm = ApiCall(registry, name, firstresult=firstresult)
                 setattr(self, name, mm)
     def __repr__(self):
-        return "<PluginAPI %r %r>" %(self._apiclass, self.plugins)
+        return "<PluginAPI %r %r>" %(self._apiclass, self._plugins)
 
 class ApiCall:
-    def __init__(self, plugins, name, firstresult):
-        self.plugins = plugins
+    def __init__(self, registry, name, firstresult):
+        self.registry = registry
         self.name = name 
         self.firstresult = firstresult 
 
     def __repr__(self):
         mode = self.firstresult and "firstresult" or "each"
-        return "<ApiCall %r mode=%s %s>" %(self.name, mode, self.plugins)
+        return "<ApiCall %r mode=%s %s>" %(self.name, mode, self.registry)
 
     def __call__(self, *args, **kwargs):
-        mc = MultiCall(self.plugins.listattr(self.name), *args, **kwargs)
+        mc = MultiCall(self.registry.listattr(self.name), *args, **kwargs)
         #print "making multicall", self
         return mc.execute(firstresult=self.firstresult)
 

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  9 16:34:53 2009
@@ -165,37 +165,37 @@
 
 class TestPluginAPI:
     def test_happypath(self):
-        plugins = Registry()
+        registry = Registry()
         class Api:
             def hello(self, arg):
                 pass
 
-        mcm = PluginAPI(apiclass=Api, plugins=plugins)
+        mcm = PluginAPI(apiclass=Api, registry=registry)
         assert hasattr(mcm, 'hello')
         assert repr(mcm.hello).find("hello") != -1
         class Plugin:
             def hello(self, arg):
                 return arg + 1
-        plugins.register(Plugin())
+        registry.register(Plugin())
         l = mcm.hello(3)
         assert l == [4]
         assert not hasattr(mcm, 'world')
 
     def test_firstresult(self):
-        plugins = Registry()
+        registry = Registry()
         class Api:
             def hello(self, arg): pass
             hello.firstresult = True
 
-        mcm = PluginAPI(apiclass=Api, plugins=plugins)
+        mcm = PluginAPI(apiclass=Api, registry=registry)
         class Plugin:
             def hello(self, arg):
                 return arg + 1
-        plugins.register(Plugin())
+        registry.register(Plugin())
         res = mcm.hello(3)
         assert res == 4
 
     def test_default_plugins(self):
         class Api: pass 
         mcm = PluginAPI(apiclass=Api)
-        assert mcm.plugins == py._com.comregistry
+        assert mcm.registry == py._com.comregistry

Modified: py/trunk/py/test/pluginmanager.py
==============================================================================
--- py/trunk/py/test/pluginmanager.py	(original)
+++ py/trunk/py/test/pluginmanager.py	Thu Apr  9 16:34:53 2009
@@ -1,5 +1,5 @@
 """
-handling py.test plugins. 
+managing loading and interacting with pytest plugins. 
 """
 import py
 from py.__.test.plugin import api
@@ -10,11 +10,11 @@
             comregistry = py._com.Registry()
         self.comregistry = comregistry 
         self.MultiCall = self.comregistry.MultiCall
-        self.plugins = {}
+        self.impname2plugin = {}
 
         self.api = py._com.PluginAPI(
             apiclass=api.PluginHooks, 
-            plugins=self.comregistry) 
+            registry=self.comregistry) 
 
     def register(self, plugin):
         self.comregistry.register(plugin)
@@ -24,13 +24,13 @@
         return self.comregistry.isregistered(plugin)
 
     def getplugins(self):
-        return self.comregistry.plugins
+        return list(self.comregistry)
 
     # API for bootstrapping 
     #
     def getplugin(self, importname):
         impname, clsname = canonical_names(importname)
-        return self.plugins[impname]
+        return self.impname2plugin[impname]
 
     def _envlist(self, varname):
         val = py.std.os.environ.get(varname, None)
@@ -44,8 +44,8 @@
 
     def consider_conftest(self, conftestmodule):
         cls = getattr(conftestmodule, 'ConftestPlugin', None)
-        if cls is not None and cls not in self.plugins:
-            self.plugins[cls] = True
+        if cls is not None and cls not in self.impname2plugin:
+            self.impname2plugin[cls] = True
             self.register(cls())
         self.consider_module(conftestmodule)
 
@@ -60,11 +60,11 @@
     def import_plugin(self, spec):
         assert isinstance(spec, str)
         modname, clsname = canonical_names(spec)
-        if modname in self.plugins:
+        if modname in self.impname2plugin:
             return
         mod = importplugin(modname)
         plugin = registerplugin(self.comregistry.register, mod, clsname)
-        self.plugins[modname] = plugin
+        self.impname2plugin[modname] = plugin
         self.consider_module(mod)
     # 
     #

Modified: py/trunk/py/test/pycollect.py
==============================================================================
--- py/trunk/py/test/pycollect.py	(original)
+++ py/trunk/py/test/pycollect.py	Thu Apr  9 16:34:53 2009
@@ -386,8 +386,8 @@
     def _raisefuncargerror(self, argname, prefix="pytest_funcarg__"):
         metainfo = self.repr_metainfo()
         available = []
-        plugins = self.config.pluginmanager.plugins.values()
-        plugins.extend(self.config.pluginmanager.comregistry.plugins)
+        plugins = list(self.config.pluginmanager.comregistry)
+        #plugins.extend(self.config.pluginmanager.registry.plugins)
         for plugin in plugins:
             for name in vars(plugin.__class__):
                 if name.startswith(prefix):



More information about the pytest-commit mailing list