diff --git a/setup.py b/setup.py index d395422..8544013 100644 --- a/setup.py +++ b/setup.py @@ -7,10 +7,11 @@ for the new options. """ from setuptools import setup +from xdist import __version__ setup( name="pytest-xdist", - version="1.1", + version=__version__, description='py.test figleaf coverage plugin', long_description=__doc__, license='GPLv2 or later', @@ -21,7 +22,7 @@ setup( packages = ['xdist'], entry_points = {'pytest11': ['xdist = xdist.plugin'],}, zip_safe=False, - install_requires = ['execnet>=1.0.4', 'py>=1.2.0'], + install_requires = ['execnet>=1.0.6', 'py>=1.2.2'], classifiers=[ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', diff --git a/testing/test_gwmanage.py b/testing/test_gwmanage.py index 82ca5e8..26ae0f8 100644 --- a/testing/test_gwmanage.py +++ b/testing/test_gwmanage.py @@ -3,6 +3,7 @@ import os from xdist.gwmanage import GatewayManager, HostRSync from py._test.pluginmanager import HookRelay, Registry from py._plugin import hookspec +from xdist import newhooks import execnet def pytest_funcarg__hookrecorder(request): @@ -11,7 +12,7 @@ def pytest_funcarg__hookrecorder(request): return _pytest.gethookrecorder(hook) def pytest_funcarg__hook(request): - return HookRelay(hookspec, Registry()) + return HookRelay([hookspec, newhooks], Registry()) class TestGatewayManagerPopen: def test_popen_no_default_chdir(self, hook): diff --git a/xdist/__init__.py b/xdist/__init__.py index fcb8a8e..85a0aea 100644 --- a/xdist/__init__.py +++ b/xdist/__init__.py @@ -1,3 +1,3 @@ # -__version__ = "1.1" +__version__ = "1.2" diff --git a/xdist/newhooks.py b/xdist/newhooks.py new file mode 100644 index 0000000..22a0f84 --- /dev/null +++ b/xdist/newhooks.py @@ -0,0 +1,21 @@ + +def pytest_gwmanage_newgateway(gateway, platinfo): + """ called on new raw gateway creation. """ + +def pytest_gwmanage_rsyncstart(source, gateways): + """ called before rsyncing a directory to remote gateways takes place. """ + +def pytest_gwmanage_rsyncfinish(source, gateways): + """ called after rsyncing a directory to remote gateways takes place. """ + +def pytest_testnodeready(node): + """ Test Node is ready to operate. """ + +def pytest_testnodedown(node, error): + """ Test Node is down. """ + +def pytest_rescheduleitems(items): + """ reschedule Items from a node that went down. """ + +def pytest_looponfailinfo(failreports, rootdirs): + """ info for repeating failing tests. """ diff --git a/xdist/plugin.py b/xdist/plugin.py index 21c1ab5..dbcde3e 100644 --- a/xdist/plugin.py +++ b/xdist/plugin.py @@ -173,6 +173,16 @@ def pytest_addoption(parser): group.addoption('--rsyncdir', action="append", default=[], metavar="dir1", help="add directory for rsyncing to remote tx nodes.") +# ------------------------------------------------------------------------- +# distributed testing hooks +# ------------------------------------------------------------------------- +def pytest_registerhooks(pluginmanager): + from xdist import newhooks + pluginmanager.registerhooks(newhooks) + +# ------------------------------------------------------------------------- +# distributed testing initialization +# ------------------------------------------------------------------------- def pytest_configure(config): if config.option.numprocesses: config.option.dist = "load"