aboutsummaryrefslogtreecommitdiffstats
path: root/tests/mason-core/installer/installer_spec.lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2023-03-05 02:33:57 +0100
committerGitHub <noreply@github.com>2023-03-05 01:33:57 +0000
commitc1dbd9824ceb03f2e378cc5b732cd11ba0e4c991 (patch)
treefc51d2ede21b745e9810026281fe4fe427f12b8c /tests/mason-core/installer/installer_spec.lua
parentchore: autogenerate (#1051) (diff)
downloadmason-c1dbd9824ceb03f2e378cc5b732cd11ba0e4c991.tar
mason-c1dbd9824ceb03f2e378cc5b732cd11ba0e4c991.tar.gz
mason-c1dbd9824ceb03f2e378cc5b732cd11ba0e4c991.tar.bz2
mason-c1dbd9824ceb03f2e378cc5b732cd11ba0e4c991.tar.lz
mason-c1dbd9824ceb03f2e378cc5b732cd11ba0e4c991.tar.xz
mason-c1dbd9824ceb03f2e378cc5b732cd11ba0e4c991.tar.zst
mason-c1dbd9824ceb03f2e378cc5b732cd11ba0e4c991.zip
feat(InstallContext): add strict_mode flag (#1055)
Also add some more ctx.fs methods.
Diffstat (limited to 'tests/mason-core/installer/installer_spec.lua')
-rw-r--r--tests/mason-core/installer/installer_spec.lua20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/mason-core/installer/installer_spec.lua b/tests/mason-core/installer/installer_spec.lua
index 094129f9..66cdb89b 100644
--- a/tests/mason-core/installer/installer_spec.lua
+++ b/tests/mason-core/installer/installer_spec.lua
@@ -4,6 +4,7 @@ local stub = require "luassert.stub"
local fs = require "mason-core.fs"
local a = require "mason-core.async"
local path = require "mason-core.path"
+local Result = require "mason-core.result"
local installer = require "mason-core.installer"
local InstallContext = require "mason-core.installer.context"
@@ -147,4 +148,23 @@ describe("installer", function()
.was_called_with(path.package_prefix "dummy/mason-debug.log", "Hello stdout!\nHello stderr!")
end)
)
+
+ it(
+ "should raise spawn errors in strict mode",
+ async_test(function()
+ local handle = InstallHandleGenerator "dummy"
+ stub(handle.package.spec, "install", function(ctx)
+ ctx.spawn.bash { "-c", "exit 42" }
+ end)
+ local result = installer.execute(handle, { debug = true })
+ assert.same(
+ Result.failure {
+ exit_code = 42,
+ signal = 0,
+ },
+ result
+ )
+ assert.equals("spawn: bash failed with exit code 42 and signal 0. ", tostring(result:err_or_nil()))
+ end)
+ )
end)