def test__get_paths(monkeypatch): # These settings are used by Dask's config system. We temporarily # remove them to avoid interference from the machine where tests # are being run. monkeypatch.delenv("DASK_CONFIG", raising=False) monkeypatch.delenv("DASK_ROOT_CONFIG", raising=False) monkeypatch.setattr(site, "PREFIXES", []) expected = [ "/etc/dask", os.path.join(sys.prefix, "etc", "dask"), os.path.join(os.path.expanduser("~"), ".config", "dask"), ] paths = _get_paths() assert paths == expected assert len(paths) == len(set(paths)) # No duplicate paths with monkeypatch.context() as m: m.setenv("DASK_CONFIG", "foo-bar") paths = _get_paths() assert paths == expected + ["foo-bar"] assert len(paths) == len(set(paths)) with monkeypatch.context() as m: m.setenv("DASK_ROOT_CONFIG", "foo-bar") paths = _get_paths() assert paths == ["foo-bar"] + expected[1:] assert len(paths) == len(set(paths)) with monkeypatch.context() as m: prefix = os.path.join("include", "this", "path") m.setattr(site, "PREFIXES", site.PREFIXES + [prefix]) paths = _get_paths() assert os.path.join(prefix, "etc", "dask") in paths assert len(paths) == len(set(paths))
def test_default_search_paths(): # Ensure _get_paths() is used for default paths assert dask.config.paths == _get_paths()