Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
60 lines (51 sloc) 1.58 KB
local src_dir, build_dir = ...
package.path = src_dir .. "?.lua;" .. package.path
package.cpath = build_dir .. "?.so;" .. package.cpath
local tap = require("tap")
local ev = require("ev")
local help = require("help")
local dump = require("dumper").dump
local ok = tap.ok
local noleaks = help.collect_and_assert_no_watchers
local loop = ev.Loop.default
function touch_file(path)
ev.Timer.new(function(loop, timer, revents)
os.execute('touch ' .. path)
timer:stop(loop)
end, 1):start(loop)
end
function remove_file(path)
ev.Timer.new(function(loop, timer, revents)
os.execute('rm ' .. path)
timer:stop(loop)
end, 1):start(loop)
end
function test_basic()
local path = os.tmpname()
local stat = ev.Stat.new(function(loop, stat, revents)
local data = stat:getdata()
ok(data.path == path, 'got proper path')
ok(data.attr.nlink > 0, 'file exists')
ok(data.attr.size == 0, 'file has size of 0 bytes')
os.execute('rm ' .. path)
stat:stop(loop)
end, path)
stat:start(loop)
touch_file(path)
loop:loop()
end
function test_remove()
local path = os.tmpname()
local stat = ev.Stat.new(function(loop, stat, revents)
local data = stat:getdata()
ok(data.path == path, 'got proper path')
ok(data.attr.nlink == 0, 'file doesn\'t exist')
ok(data.prev.nlink > 0, 'file previously existed')
stat:stop(loop)
end, path)
stat:start(loop)
remove_file(path)
loop:loop()
end
noleaks(test_basic, "test_basic")
noleaks(test_remove, "test_remove")
Jump to Line
Something went wrong with that request. Please try again.