fix issue34

This commit is contained in:
holger krekel
2011-03-16 17:59:14 +01:00
parent eb09e22b62
commit bd30e96ab0
7 changed files with 29 additions and 13 deletions

View File

@@ -1,3 +1,10 @@
1.6 (dev)
-------------------------
- terser collection reporting
- fix issue34 - distributed testing with -p plugin now works correctly
1.5 1.5
------------------------- -------------------------

View File

@@ -2,7 +2,7 @@ from setuptools import setup
setup( setup(
name="pytest-xdist", name="pytest-xdist",
version='1.6.dev2', version='1.6.dev3',
description='py.test xdist plugin for distributed testing and loop-on-failing modes', description='py.test xdist plugin for distributed testing and loop-on-failing modes',
long_description=open('README.txt').read(), long_description=open('README.txt').read(),
license='GPLv2 or later', license='GPLv2 or later',
@@ -13,7 +13,7 @@ setup(
packages = ['xdist'], packages = ['xdist'],
entry_points = {'pytest11': ['xdist = xdist.plugin'],}, entry_points = {'pytest11': ['xdist = xdist.plugin'],},
zip_safe=False, zip_safe=False,
install_requires = ['execnet>=1.0.8', 'pytest>1.9.9'], install_requires = ['execnet>=1.0.8', 'pytest>2.0.2'],
classifiers=[ classifiers=[
'Development Status :: 5 - Production/Stable', 'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers', 'Intended Audience :: Developers',

View File

@@ -407,5 +407,18 @@ def test_skipping(testdir):
"*1 skipped*" "*1 skipped*"
]) ])
def test_issue34_pluginloading_in_subprocess(testdir):
testdir.tmpdir.join("plugin123.py").write(py.code.Source("""
def pytest_namespace():
return {'sample_variable': 'testing'}
"""))
testdir.makepyfile("""
import pytest
def test_hello():
assert pytest.sample_variable == "testing"
""")
result = testdir.runpytest("-n1", "-p", "plugin123")
assert result.ret == 0
result.stdout.fnmatch_lines([
"*1 passed*",
])

View File

@@ -62,7 +62,7 @@ def test_remoteinitconfig(testdir):
config1 = testdir.parseconfig() config1 = testdir.parseconfig()
config2 = remote_initconfig(config1.option.__dict__, config1.args) config2 = remote_initconfig(config1.option.__dict__, config1.args)
assert config2.option.__dict__ == config1.option.__dict__ assert config2.option.__dict__ == config1.option.__dict__
assert config2.pluginmanager.getplugin("terminal") == None assert config2.pluginmanager.getplugin("terminal") in (-1, None)
class TestReportSerialization: class TestReportSerialization:
def test_itemreport_outcomes(self, testdir): def test_itemreport_outcomes(self, testdir):

View File

@@ -1,2 +1,2 @@
# #
__version__ = '1.6.dev2' __version__ = '1.6.dev3'

View File

@@ -120,9 +120,7 @@ def init_slave_session(channel, args, option_dict):
#fullwidth, hasmarkup = channel.receive() #fullwidth, hasmarkup = channel.receive()
from _pytest.config import Config from _pytest.config import Config
config = Config() config = Config.fromdictargs(option_dict, list(args))
config.option.__dict__.update(option_dict)
config._preparse(list(args))
config.args = args config.args = args
from xdist.looponfail import SlaveFailSession from xdist.looponfail import SlaveFailSession
SlaveFailSession(config, channel).main() SlaveFailSession(config, channel).main()

View File

@@ -109,10 +109,8 @@ def getinfodict():
def remote_initconfig(option_dict, args): def remote_initconfig(option_dict, args):
from _pytest.config import Config from _pytest.config import Config
config = Config() option_dict['plugins'].append("no:terminal")
config.pluginmanager.unregister(name="terminal") config = Config.fromdictargs(option_dict, args)
config._preparse(args, addopts=False)
config.option.__dict__.update(option_dict)
config.option.looponfail = False config.option.looponfail = False
config.option.usepdb = False config.option.usepdb = False
config.option.dist = "no" config.option.dist = "no"