aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkylo252 <59826753+kylo252@users.noreply.github.com>2023-07-16 14:50:10 +0200
committerGitHub <noreply@github.com>2023-07-16 05:50:10 -0700
commitf660b794808ac809ee8cafe82ddd824840bc8e2c (patch)
tree4e43accfbb4b60414caa99e03cdec54203d676cf
parentc3de6524a53dc355b1c8074eb6940e9e73714057 (diff)
downloadrneovim-f660b794808ac809ee8cafe82ddd824840bc8e2c.tar.gz
rneovim-f660b794808ac809ee8cafe82ddd824840bc8e2c.tar.bz2
rneovim-f660b794808ac809ee8cafe82ddd824840bc8e2c.zip
test(fs): get tmpdir robustly #23021
Problem: helpers.tmpname() may create a local file, depending on circumstances. Solution: Only use helpers.tmpname() for its parent directory (the "temp root"). Use fs_mkdtemp() to actually get a unique name.
-rw-r--r--test/functional/core/fileio_spec.lua5
-rw-r--r--test/functional/lua/watch_spec.lua9
2 files changed, 3 insertions, 11 deletions
diff --git a/test/functional/core/fileio_spec.lua b/test/functional/core/fileio_spec.lua
index 4236a4ff47..27a32ce6f8 100644
--- a/test/functional/core/fileio_spec.lua
+++ b/test/functional/core/fileio_spec.lua
@@ -19,7 +19,6 @@ local meths = helpers.meths
local mkdir = helpers.mkdir
local sleep = helpers.sleep
local read_file = helpers.read_file
-local tmpname = helpers.tmpname
local trim = helpers.trim
local currentdir = helpers.funcs.getcwd
local assert_alive = helpers.assert_alive
@@ -266,9 +265,7 @@ describe('tmpdir', function()
before_each(function()
-- Fake /tmp dir so that we can mess it up.
- os_tmpdir = tmpname()
- os.remove(os_tmpdir)
- mkdir(os_tmpdir)
+ os_tmpdir = vim.loop.fs_mkdtemp(vim.fs.dirname(helpers.tmpname()) .. '/nvim_XXXXXXXXXX')
end)
after_each(function()
diff --git a/test/functional/lua/watch_spec.lua b/test/functional/lua/watch_spec.lua
index f041f4f1b6..d802a955fa 100644
--- a/test/functional/lua/watch_spec.lua
+++ b/test/functional/lua/watch_spec.lua
@@ -3,7 +3,6 @@ local eq = helpers.eq
local exec_lua = helpers.exec_lua
local clear = helpers.clear
local is_os = helpers.is_os
-local mkdir = helpers.mkdir
describe('vim._watch', function()
before_each(function()
@@ -12,9 +11,7 @@ describe('vim._watch', function()
describe('watch', function()
it('detects file changes', function()
- local root_dir = helpers.tmpname()
- os.remove(root_dir)
- mkdir(root_dir)
+ local root_dir = vim.loop.fs_mkdtemp(vim.fs.dirname(helpers.tmpname()) .. '/nvim_XXXXXXXXXX')
local result = exec_lua(
[[
@@ -100,9 +97,7 @@ describe('vim._watch', function()
describe('poll', function()
it('detects file changes', function()
- local root_dir = helpers.tmpname()
- os.remove(root_dir)
- mkdir(root_dir)
+ local root_dir = vim.loop.fs_mkdtemp(vim.fs.dirname(helpers.tmpname()) .. '/nvim_XXXXXXXXXX')
local result = exec_lua(
[[