diff options
Diffstat (limited to 'test/functional/helpers.lua')
-rw-r--r-- | test/functional/helpers.lua | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/test/functional/helpers.lua b/test/functional/helpers.lua index 37b7bf664c..846ce72e14 100644 --- a/test/functional/helpers.lua +++ b/test/functional/helpers.lua @@ -345,10 +345,18 @@ local function rmdir(path) end for file in lfs.dir(path) do if file ~= '.' and file ~= '..' then - local ret, err = os.remove(path..'/'..file) - if not ret then - error('os.remove: '..err) - return nil + local abspath = path..'/'..file + if lfs.attributes(abspath, 'mode') == 'directory' then + local ret = rmdir(abspath) -- recurse + if not ret then + return nil + end + else + local ret, err = os.remove(abspath) + if not ret then + error('os.remove: '..err) + return nil + end end end end |