From 99a1ae120225b8c356360fa8e66b551c25cb83dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sun, 6 Mar 2022 09:54:47 +0200 Subject: [PATCH] fix(guess): return `list` instead of `odict_keys` `run()` uses subscripted access to the return value, which doesn't work for `odict_keys`. --- CHANGELOG.md | 2 +- src/venvrun.py | 2 +- tests/test_venvrun.py | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0dbca4b..ab57e96 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ # Changelog ## Unreleased -- Nothing yet. +- Fix subscripted access to guessed venvs return value (@scop) ## 0.1.1 - 2022-02-28 ### Fixed diff --git a/src/venvrun.py b/src/venvrun.py index 25d4052..622979a 100644 --- a/src/venvrun.py +++ b/src/venvrun.py @@ -38,7 +38,7 @@ def guess(): if os.access(exe, os.X_OK) ) - return venvs.keys() + return list(venvs.keys()) def run(): diff --git a/tests/test_venvrun.py b/tests/test_venvrun.py index 2ec0535..24ba26b 100644 --- a/tests/test_venvrun.py +++ b/tests/test_venvrun.py @@ -29,6 +29,7 @@ def mock_run(*args, **kwargs): with patch.object(venvrun.platform, "system", return_value='Linux'), \ patch.object(venvrun.subprocess, "run", mock_run): venvs = venvrun.guess() + self.assertTrue(venvs[0], "subscriptability") self.assertListEqual( sorted(venvs), sorted( @@ -49,6 +50,7 @@ def mock_run(*args, **kwargs): with patch.object(venvrun.platform, "system", return_value='Linux'), \ patch.object(venvrun.subprocess, "run", mock_run): venvs = venvrun.guess() + self.assertTrue(venvs[0], "subscriptability") self.assertListEqual( sorted(venvs), sorted( @@ -72,6 +74,7 @@ def mock_run(*args, **kwargs): with patch.object(venvrun.platform, "system", return_value='Linux'), \ patch.object(venvrun.subprocess, "run", mock_run): venvs = venvrun.guess() + self.assertTrue(venvs[0], "subscriptability") self.assertListEqual( sorted(venvs), sorted(