[asterisk-commits] mnicholson: testsuite/asterisk/trunk r359 - /asterisk/trunk/asttest/lib/lua/
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Jun 7 11:32:04 CDT 2010
Author: mnicholson
Date: Mon Jun 7 11:32:00 2010
New Revision: 359
URL: http://svnview.digium.com/svn/testsuite?view=rev&rev=359
Log:
Execute 'core waitfullybooted' to ensure asterisk is fully booted from asterisk:spawn()
Modified:
asterisk/trunk/asttest/lib/lua/astlib.lua
Modified: asterisk/trunk/asttest/lib/lua/astlib.lua
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/asttest/lib/lua/astlib.lua?view=diff&rev=359&r1=358&r2=359
==============================================================================
--- asterisk/trunk/asttest/lib/lua/astlib.lua (original)
+++ asterisk/trunk/asttest/lib/lua/astlib.lua Mon Jun 7 11:32:00 2010
@@ -75,7 +75,31 @@
self:generate_essential_configs()
self:write_configs()
self:_spawn()
- posix.sleep(3)
+
+ -- wait for asterisk to be fully booted. We do this by reading the
+ -- output of the 'core waitfullybooted' command and looking for the
+ -- string 'fully booted'. We will try 5 times before completely giving
+ -- up with a one second delay in between each try. We need to loop
+ -- like this in order to give asterisk time to start the CLI socket.
+ local booted
+ for _=1,5 do
+ local err
+ booted, err = self:cli("core waitfullybooted")
+ if not booted then
+ if err then
+ error("error waiting for asterisk to fully boot: " .. err)
+ else
+ error("error waiting for asterisk to fully boot")
+ end
+ end
+ if booted:find("fully booted") then
+ break
+ end
+ posix.sleep(1)
+ end
+ if not booted:find("fully booted") then
+ error("error waiting for asterisk to fully boot: " .. booted)
+ end
end
function asterisk:spawn_and_wait()
More information about the asterisk-commits
mailing list