diff --git a/jedi/evaluate/sys_path.py b/jedi/evaluate/sys_path.py index f5043e7e..e8f46082 100644 --- a/jedi/evaluate/sys_path.py +++ b/jedi/evaluate/sys_path.py @@ -35,7 +35,10 @@ def _get_sys_path_with_egglinks(sys_path): result = [] for p in sys_path: result.append(p) - for egg_link in glob.glob(os.path.join(p, '*.egg-link')): + # pkg_resources does not define a specific order for egg-link files + # using os.listdir to enumerate them, we're sorting them to have + # reproducible tests. + for egg_link in sorted(glob.glob(os.path.join(p, '*.egg-link'))): with open(egg_link) as fd: for line in fd: line = line.strip() diff --git a/test/test_evaluate/test_sys_path.py b/test/test_evaluate/test_sys_path.py index 44997100..ae7b61c0 100644 --- a/test/test_evaluate/test_sys_path.py +++ b/test/test_evaluate/test_sys_path.py @@ -43,8 +43,8 @@ def test_get_venv_path(venv): glob(pjoin(venv, 'lib', 'site-packages')))[0] ETALON = [ site_pkgs, - pjoin(site_pkgs, '.', 'relative', 'egg-link', 'path'), pjoin('/path', 'from', 'egg-link'), + pjoin(site_pkgs, '.', 'relative', 'egg-link', 'path'), pjoin(site_pkgs, 'dir-from-foo-pth'), pjoin('/path', 'from', 'smth.py'), pjoin('/path', 'from', 'smth.py:extend_path')