2010-11-18 16:33:48 +00:00
|
|
|
-- a heavy duty test.
|
|
|
|
-- makes thousends of random changes to the source tree
|
|
|
|
|
2012-11-23 15:04:43 +00:00
|
|
|
require( 'posix' )
|
|
|
|
|
|
|
|
dofile( 'tests/testlib.lua' )
|
|
|
|
|
|
|
|
cwriteln( '****************************************************************' )
|
|
|
|
cwriteln( ' Testing default.rsyncssh with random data activity ' )
|
|
|
|
cwriteln( '****************************************************************' )
|
|
|
|
cwriteln( '( this test needs passwordless ssh localhost access )' )
|
|
|
|
cwriteln( '( for current user )' )
|
2011-01-26 11:05:53 +00:00
|
|
|
|
2010-11-30 20:08:20 +00:00
|
|
|
local tdir, srcdir, trgdir = mktemps()
|
2010-11-24 19:21:43 +00:00
|
|
|
|
2012-02-17 08:12:01 +00:00
|
|
|
-- makes some startup data
|
2016-12-21 15:29:29 +00:00
|
|
|
churn( srcdir, 5, true )
|
2010-11-24 21:26:41 +00:00
|
|
|
|
2010-11-24 19:21:43 +00:00
|
|
|
local logs = {}
|
2012-11-23 15:04:43 +00:00
|
|
|
logs = { '-log', 'Delay' }
|
2010-11-24 20:34:56 +00:00
|
|
|
|
2012-11-23 15:04:43 +00:00
|
|
|
local pid = spawn(
|
|
|
|
'./lsyncd',
|
|
|
|
'-nodaemon',
|
|
|
|
'-delay',
|
|
|
|
'5',
|
|
|
|
'-rsyncssh',
|
|
|
|
srcdir,
|
|
|
|
'localhost',
|
|
|
|
trgdir,
|
2018-03-09 10:07:53 +00:00
|
|
|
table.unpack(logs)
|
2012-11-23 15:04:43 +00:00
|
|
|
)
|
2010-11-18 16:33:48 +00:00
|
|
|
|
2012-11-23 15:04:43 +00:00
|
|
|
cwriteln( 'waiting for Lsyncd to startup' )
|
|
|
|
posix.sleep( 1 )
|
2010-11-18 16:33:48 +00:00
|
|
|
|
2017-01-05 09:10:55 +00:00
|
|
|
churn( srcdir, 150, false )
|
2010-11-18 16:33:48 +00:00
|
|
|
|
2012-11-23 15:04:43 +00:00
|
|
|
cwriteln( 'waiting for Lsyncd to finish its jobs.' )
|
|
|
|
posix.sleep( 10 )
|
2010-11-18 16:33:48 +00:00
|
|
|
|
2012-11-23 15:04:43 +00:00
|
|
|
cwriteln( 'killing the Lsyncd daemon' )
|
2016-12-21 12:11:55 +00:00
|
|
|
|
2010-11-20 22:51:53 +00:00
|
|
|
posix.kill(pid)
|
2016-12-21 12:11:55 +00:00
|
|
|
|
|
|
|
local _, exitmsg, lexitcode = posix.wait( lpid )
|
|
|
|
|
2012-11-23 15:04:43 +00:00
|
|
|
cwriteln( 'Exitcode of Lsyncd = ', exitmsg, ' ', lexitcode )
|
2010-11-18 16:33:48 +00:00
|
|
|
|
2015-10-14 12:23:37 +00:00
|
|
|
_, result, code = os.execute( 'diff -r ' .. srcdir .. ' ' .. trgdir )
|
2012-10-07 18:48:09 +00:00
|
|
|
|
2015-10-14 12:23:37 +00:00
|
|
|
if result == 'exit'
|
|
|
|
then
|
|
|
|
cwriteln( 'Exitcode of diff = ', code )
|
|
|
|
else
|
|
|
|
cwriteln( 'Signal terminating diff = ', code )
|
|
|
|
end
|
|
|
|
|
2016-12-21 12:11:55 +00:00
|
|
|
if code ~= 0
|
2015-10-14 12:23:37 +00:00
|
|
|
then
|
2012-11-23 15:04:43 +00:00
|
|
|
os.exit( 1 )
|
2010-11-20 22:51:53 +00:00
|
|
|
else
|
2012-11-23 15:04:43 +00:00
|
|
|
os.exit( 0 )
|
2010-11-20 22:51:53 +00:00
|
|
|
end
|
2010-11-18 16:33:48 +00:00
|
|
|
|