diff --git a/_pytest/config.py b/_pytest/config.py index 230d7593700..dc07d861f35 100644 --- a/_pytest/config.py +++ b/_pytest/config.py @@ -1121,18 +1121,20 @@ def get_common_ancestor(args): return common_ancestor def get_dirs_from_args(args): - return [py.path.local(x) for x in args if not str(x).startswith("-")] + return [d for d in (py.path.local(x) for x in args if not + str(x).startswith("-")) if d.exists()] def determine_setup(inifile, args): + dirs = get_dirs_from_args(args) if inifile: iniconfig = py.iniconfig.IniConfig(inifile) try: inicfg = iniconfig["pytest"] except KeyError: inicfg = None - rootdir = get_common_ancestor(args) + rootdir = get_common_ancestor(dirs) else: - ancestor = get_common_ancestor(args) + ancestor = get_common_ancestor(dirs) rootdir, inifile, inicfg = getcfg( [ancestor], ["pytest.ini", "tox.ini", "setup.cfg"]) if rootdir is None: @@ -1140,7 +1142,6 @@ def determine_setup(inifile, args): if rootdir.join("setup.py").exists(): break else: - dirs = get_dirs_from_args(args) rootdir, inifile, inicfg = getcfg( dirs, ["pytest.ini", "tox.ini", "setup.cfg"]) if rootdir is None: