From 532610388bb09fef6d0de8929092d4dc32f781bf Mon Sep 17 00:00:00 2001 From: Lewis Russell Date: Tue, 29 Apr 2025 10:48:18 +0100 Subject: fix(vim.system): improve error message when cwd does not exist Problem: vim.uv.spawn will emit ENOENT for either when the cmd or cwd do not exist and does not tell you which. Solution: If an error occurs, check if cwd was supplied and included in the error message if it does not exist. --- test/functional/lua/system_spec.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'test/functional/lua/system_spec.lua') diff --git a/test/functional/lua/system_spec.lua b/test/functional/lua/system_spec.lua index 5abd901a9d..52206b7906 100644 --- a/test/functional/lua/system_spec.lua +++ b/test/functional/lua/system_spec.lua @@ -55,9 +55,14 @@ describe('vim.system', function() describe('(' .. name .. ')', function() it('failure modes', function() t.matches( - 'ENOENT%: no such file .*: "non%-existent%-cmd"', + "ENOENT%: no such file .* %(cmd%): 'non%-existent%-cmd'", t.pcall_err(system, { 'non-existent-cmd', 'arg1', 'arg2' }, { text = true }) ) + + t.matches( + "ENOENT%: no such file .* %(cwd%): 'non%-existent%-cwd'", + t.pcall_err(system, { 'echo', 'hello' }, { cwd = 'non-existent-cwd', text = true }) + ) end) it('can run simple commands', function() -- cgit