1 new changeset in pytest: http://bitbucket.org/hpk42/pytest/changeset/6f036850385f/ changeset: r2189:6f036850385f user: hpk42 date: 2011-03-16 18:00:52 summary: offer a semi-internal method to create a config object in subprocesses (helps pytest-xdist plugin to fix issue34) affected #: 2 files (373 bytes)
--- a/_pytest/config.py Wed Mar 16 16:36:18 2011 +0100 +++ b/_pytest/config.py Wed Mar 16 18:00:52 2011 +0100 @@ -252,6 +252,16 @@ self.hook = self.pluginmanager.hook self._inicache = {} + @classmethod + def fromdictargs(cls, option_dict, args): + """ constructor useable for subprocesses. """ + config = cls() + config._preparse(args, addopts=False) + config.option.__dict__.update(option_dict) + for x in config.option.plugins: + config.pluginmanager.consider_pluginarg(x) + return config + def _onimportconftest(self, conftestmodule): self.trace("loaded conftestmodule %r" %(conftestmodule,)) self.pluginmanager.consider_conftest(conftestmodule) --- a/_pytest/core.py Wed Mar 16 16:36:18 2011 +0100 +++ b/_pytest/core.py Wed Mar 16 18:00:52 2011 +0100 @@ -164,14 +164,17 @@ def consider_preparse(self, args): for opt1,opt2 in zip(args, args[1:]): if opt1 == "-p": - if opt2.startswith("no:"): - name = opt2[3:] - if self.getplugin(name) is not None: - self.unregister(None, name=name) - self._name2plugin[name] = -1 - else: - if self.getplugin(opt2) is None: - self.import_plugin(opt2) + self.consider_pluginarg(opt2) + + def consider_pluginarg(self, arg): + if arg.startswith("no:"): + name = arg[3:] + if self.getplugin(name) is not None: + self.unregister(None, name=name) + self._name2plugin[name] = -1 + else: + if self.getplugin(arg) is None: + self.import_plugin(arg) def consider_conftest(self, conftestmodule): if self.register(conftestmodule, name=conftestmodule.__file__): Repository URL: https://bitbucket.org/hpk42/pytest/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email. _______________________________________________ py-svn mailing list py-svn@codespeak.net http://codespeak.net/mailman/listinfo/py-svn