aboutsummaryrefslogtreecommitdiff
path: root/spec/util/test_env.lua
diff options
context:
space:
mode:
Diffstat (limited to 'spec/util/test_env.lua')
-rw-r--r--spec/util/test_env.lua15
1 files changed, 15 insertions, 0 deletions
diff --git a/spec/util/test_env.lua b/spec/util/test_env.lua
index 41787cb7..f311a370 100644
--- a/spec/util/test_env.lua
+++ b/spec/util/test_env.lua
@@ -193,10 +193,25 @@ function test_env.run_in_tmp(f, finally)
193 lfs.mkdir(tmpdir) 193 lfs.mkdir(tmpdir)
194 lfs.chdir(tmpdir) 194 lfs.chdir(tmpdir)
195 195
196 if not finally then
197 error("run_in_tmp needs a finally argument")
198 end
199
200 -- for unit tests, so that current dir known by luarocks.fs (when running with non-lfs)
201 -- is synchronized with actual lfs (system) current dir
202 local fs = require("luarocks.fs")
203 if not fs.change_dir then
204 local cfg = require("luarocks.core.cfg")
205 cfg.init()
206 fs.init()
207 end
208 fs.change_dir(tmpdir)
209
196 if finally then 210 if finally then
197 finally(function() 211 finally(function()
198 lfs.chdir(olddir) 212 lfs.chdir(olddir)
199 lfs.rmdir(tmpdir) 213 lfs.rmdir(tmpdir)
214 fs.change_dir(olddir)
200 end) 215 end)
201 end 216 end
202 217