lsyncd/tests/churn-direct.lua

43 lines
1.1 KiB
Lua
Executable File

#!/usr/bin/lua
-- a heavy duty test.
-- makes thousends of random changes to the source tree
require("posix")
dofile("tests/testlib.lua")
cwriteln("****************************************************************")
cwriteln(" Testing default.direct with random data activity ")
cwriteln("****************************************************************")
local tdir, srcdir, trgdir = mktemps()
-- makes some startup data
churn(srcdir, 10)
local logs = {"-log", "Exec"}
--logs = {"-log", "Delay", "-log", "Fsevents" }
local pid = spawn("./lsyncd", "-nodaemon",
"-direct", srcdir, trgdir, unpack(logs))
cwriteln("waiting for Lsyncd to startup")
posix.sleep(1)
churn(srcdir, 500)
cwriteln("waiting for Lsyncd to finish its jobs.")
posix.sleep(10)
cwriteln("killing the Lsyncd daemon")
posix.kill(pid)
local _, exitmsg, lexitcode = posix.wait(lpid)
cwriteln("Exitcode of Lsyncd = ", exitmsg, " ", lexitcode)
exitcode = os.execute("diff -r "..srcdir.." "..trgdir)
cwriteln("Exitcode of diff = '", exitcode, "'")
if exitcode ~= 0 then
os.exit(1)
else
os.exit(0)
end