mirror of
https://github.com/octoleo/lsyncd.git
synced 2024-12-12 14:17:47 +00:00
80 lines
1.7 KiB
Lua
80 lines
1.7 KiB
Lua
require( 'posix' )
|
|
dofile( 'tests/testlib.lua' )
|
|
|
|
cwriteln( '****************************************************************' )
|
|
cwriteln( ' Testing layer 4 default rsync with simulated data activity ' )
|
|
cwriteln( '****************************************************************' )
|
|
|
|
local tdir, srcdir, trgdir = mktemps()
|
|
local logfile = tdir .. 'log'
|
|
local range = 5
|
|
local log = { '-log', 'all' }
|
|
|
|
posix.mkdir( srcdir .. 'd' )
|
|
posix.mkdir( srcdir .. 'd/e' )
|
|
|
|
if not writefile( srcdir .. "d/e/f1", 'test' )
|
|
then
|
|
os.exit( 1 )
|
|
end
|
|
cwriteln( 'starting Lsyncd' )
|
|
|
|
local logs = { }
|
|
local pid =
|
|
spawn(
|
|
'./lsyncd',
|
|
'-logfile', logfile,
|
|
'-nodaemon',
|
|
'-delay', '5',
|
|
"-rsync", srcdir, trgdir,
|
|
table.unpack( logs )
|
|
)
|
|
|
|
cwriteln( 'waiting for lsyncd to start' )
|
|
posix.sleep( 2 )
|
|
|
|
cwriteln( '* making some data' )
|
|
cwriteln( '* creating d[x]/e/f2' )
|
|
|
|
for i = 1, range
|
|
do
|
|
cwriteln( '[cp -r ' .. srcdir .. 'd ' .. srcdir .. 'd' .. i .. ']' )
|
|
os.execute( 'cp -r ' .. srcdir .. 'd ' .. srcdir .. 'd' .. i )
|
|
end
|
|
|
|
-- mkdir -p "$S"/m/n
|
|
-- echo 'test3' > "$S"/m/n/file
|
|
-- for i in $RANGE; do
|
|
-- cp -r "$S"/m "$S"/m$i
|
|
-- echo 'test4' > "$S"/m${i}/n/another
|
|
-- done
|
|
|
|
cwriteln( '* waiting for Lsyncd to do its job.' )
|
|
posix.sleep( 10 )
|
|
|
|
cwriteln( '* killing Lsyncd' )
|
|
|
|
posix.kill( pid )
|
|
local _, exitmsg, lexitcode = posix.wait(pid)
|
|
cwriteln( 'Exitcode of Lsyncd = ', exitmsg, ' ', lexitcode)
|
|
posix.sleep( 1 )
|
|
|
|
cwriteln( '* differences:' )
|
|
local result, code = execute( 'diff -urN ' .. srcdir .. ' ' .. trgdir )
|
|
|
|
if result == 'exit'
|
|
then
|
|
cwriteln( 'Exitcode of diff = "', code, '"')
|
|
else
|
|
cwriteln( 'Signal terminating diff = "', code, '"')
|
|
end
|
|
|
|
if result ~= 'exit' or code ~= 0
|
|
then
|
|
os.exit( 1 )
|
|
else
|
|
os.exit( 0 )
|
|
end
|
|
|
|
-- TODO remove temp
|