diff options
| author | William Boman <william@redwill.se> | 2022-04-06 00:54:24 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-06 00:54:24 +0200 |
| commit | cd66685952ce7f007b9606fa8207e0567da82cd5 (patch) | |
| tree | 57b953afb4e64b86b87917bf004214d5a29fc199 | |
| parent | switch majority of installers to async implementation (#574) (diff) | |
| download | mason-cd66685952ce7f007b9606fa8207e0567da82cd5.tar mason-cd66685952ce7f007b9606fa8207e0567da82cd5.tar.gz mason-cd66685952ce7f007b9606fa8207e0567da82cd5.tar.bz2 mason-cd66685952ce7f007b9606fa8207e0567da82cd5.tar.lz mason-cd66685952ce7f007b9606fa8207e0567da82cd5.tar.xz mason-cd66685952ce7f007b9606fa8207e0567da82cd5.tar.zst mason-cd66685952ce7f007b9606fa8207e0567da82cd5.zip | |
fix(pip3): always use normalized "python" executable with venv-enhanced path (#577)
| -rw-r--r-- | lua/nvim-lsp-installer/core/managers/pip3/init.lua | 4 | ||||
| -rw-r--r-- | tests/core/managers/pip3_spec.lua | 14 |
2 files changed, 10 insertions, 8 deletions
diff --git a/lua/nvim-lsp-installer/core/managers/pip3/init.lua b/lua/nvim-lsp-installer/core/managers/pip3/init.lua index 06408f3b..13198b3b 100644 --- a/lua/nvim-lsp-installer/core/managers/pip3/init.lua +++ b/lua/nvim-lsp-installer/core/managers/pip3/init.lua @@ -40,8 +40,8 @@ function M.packages(packages) end) Optional.of_nilable(executable) - :if_present(function(python3) - ctx.spawn[python3] { + :if_present(function() + ctx.spawn.python { env = process.graft_env(M.env(ctx.cwd:get())), -- use venv env "-m", "pip", diff --git a/tests/core/managers/pip3_spec.lua b/tests/core/managers/pip3_spec.lua index 704a32e8..d72914e7 100644 --- a/tests/core/managers/pip3_spec.lua +++ b/tests/core/managers/pip3_spec.lua @@ -14,6 +14,7 @@ describe("pip3 manager", function() before_each(function() ctx = InstallContextGenerator { spawn = mock.new { + python = mockx.returns {}, python3 = mockx.returns {}, }, } @@ -32,13 +33,14 @@ describe("pip3 manager", function() ctx.requested_version = Optional.of "42.13.37" pip3.packages { "main-package", "supporting-package", "supporting-package2" }(ctx) assert.spy(ctx.promote_cwd).was_called(1) - assert.spy(ctx.spawn.python3).was_called(2) + assert.spy(ctx.spawn.python3).was_called(1) assert.spy(ctx.spawn.python3).was_called_with { "-m", "venv", "venv", } - assert.spy(ctx.spawn.python3).was_called_with(match.tbl_containing { + assert.spy(ctx.spawn.python).was_called(1) + assert.spy(ctx.spawn.python).was_called_with(match.tbl_containing { "-m", "pip", "install", @@ -81,14 +83,14 @@ describe("pip3 manager", function() vim.g.python3_host_prog = "/my/python3" ctx.spawn = mock.new { python3 = mockx.throws(), - python = mockx.throws(), + python = mockx.returns {}, [vim.g.python3_host_prog] = mockx.returns {}, } pip3.packages { "package" }(ctx) vim.g.python3_host_prog = nil assert.spy(ctx.spawn.python3).was_called(0) - assert.spy(ctx.spawn.python).was_called(0) - assert.spy(ctx.spawn["/my/python3"]).was_called() + assert.spy(ctx.spawn.python).was_called(1) + assert.spy(ctx.spawn["/my/python3"]).was_called(1) end) ) @@ -102,7 +104,7 @@ describe("pip3 manager", function() } pip3.packages { "package" }(ctx) settings.set(settings._DEFAULT_SETTINGS) - assert.spy(ctx.spawn.python3).was_called_with(match.tbl_containing { + assert.spy(ctx.spawn.python).was_called_with(match.tbl_containing { "-m", "pip", "install", |
