import py import execnet pytest_plugins = "pytester" #rsyncdirs = ['.', '../xdist', py.path.local(execnet.__file__).dirpath()] def pytest_addoption(parser): parser.addoption('--gx', action="append", dest="gspecs", help=("add a global test environment, XSpec-syntax. ")) def pytest_funcarg__specssh(request): return getspecssh(request.config) # configuration information for tests def getgspecs(config): return [execnet.XSpec(spec) for spec in config.getvalueorskip("gspecs")] def getspecssh(config): xspecs = getgspecs(config) for spec in xspecs: if spec.ssh: if not py.path.local.sysfind("ssh"): py.test.skip("command not found: ssh") return str(spec) py.test.skip("need '--gx ssh=...'") def getsocketspec(config): xspecs = getgspecs(config) for spec in xspecs: if spec.socket: return spec py.test.skip("need '--gx socket=...'")