From 6600d2af20fc8df1765fbc68283de2a4da17e190 Mon Sep 17 00:00:00 2001 From: William Boman Date: Wed, 16 Nov 2022 19:59:10 +0100 Subject: feat(pip): add setting to upgrade pip before installing packages (#671) Closes #616. --- tests/mason-core/managers/pip3_spec.lua | 41 +++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'tests/mason-core') diff --git a/tests/mason-core/managers/pip3_spec.lua b/tests/mason-core/managers/pip3_spec.lua index ffba9b04..601ee839 100644 --- a/tests/mason-core/managers/pip3_spec.lua +++ b/tests/mason-core/managers/pip3_spec.lua @@ -13,6 +13,10 @@ local spawn = require "mason-core.spawn" local api = require "mason-registry.api" describe("pip3 manager", function() + before_each(function() + settings.set(settings._DEFAULT_SETTINGS) + end) + it("normalizes pip3 packages", function() local normalize = pip3.normalize_package assert.equals("python-lsp-server", normalize "python-lsp-server[all]") @@ -117,6 +121,7 @@ describe("pip3 manager", function() local handle = InstallHandleGenerator "dummy" local ctx = InstallContextGenerator(handle) installer.run_installer(ctx, pip3.packages { "package" }) + assert.spy(ctx.spawn.python).was_called(1) assert.spy(ctx.spawn.python).was_called_with { "-m", "pip", @@ -130,6 +135,42 @@ describe("pip3 manager", function() end) ) + it( + "should upgrade pip", + async_test(function() + settings.set { + pip = { + upgrade_pip = true, + }, + } + local handle = InstallHandleGenerator "dummy" + local ctx = InstallContextGenerator(handle) + installer.run_installer(ctx, pip3.packages { "package" }) + vim.pretty_print(ctx.spawn.python) + assert.spy(ctx.spawn.python).was_called(2) + assert.spy(ctx.spawn.python).was_called_with { + "-m", + "pip", + "--disable-pip-version-check", + "install", + "-U", + {}, + "pip", + with_paths = { path.concat { path.package_prefix "dummy", "venv", "bin" } }, + } + assert.spy(ctx.spawn.python).was_called_with { + "-m", + "pip", + "--disable-pip-version-check", + "install", + "-U", + {}, + { "package" }, + with_paths = { path.concat { path.package_prefix "dummy", "venv", "bin" } }, + } + end) + ) + it( "should provide receipt information", async_test(function() -- cgit v1.2.3-70-g09d2