def _delay_start(cont_pid, start_engines, furl_file, reuse): """Wait for controller to create FURL files and the start the engines.""" if not reuse: if os.path.isfile(furl_file): os.unlink(furl_file) log.msg('Waiting for controller to finish starting...') d = wait_for_file(furl_file, delay=0.2, max_tries=50) d.addCallback(lambda _: log.msg('Controller started')) d.addCallback(lambda _: start_engines(cont_pid)) return d
def _delay_start(cont_pid, start_engines, furl_file, reuse): """Wait for controller to create FURL files and the start the engines.""" if not reuse: if os.path.isfile(furl_file): os.unlink(furl_file) log.msg('Waiting for controller to finish starting...') d = wait_for_file(furl_file, delay=0.2, max_tries=50) d.addCallback(lambda _: log.msg('Controller started')) d.addCallback(lambda _: start_engines(cont_pid)) return d
def test_delay(self): filename = tempfile.mktemp() def _create_file(): open(filename,'w').write('####') dcall = reactor.callLater(0.5, _create_file) d = wait_for_file(filename,delay=0.1) d.addCallback(lambda r: self.assert_(r)) def _cancel_dcall(r): if dcall.active(): dcall.cancel() d.addCallback(_cancel_dcall) return d
def test_timeout(self): filename = tempfile.mktemp() d = wait_for_file(filename,delay=0.1,max_tries=1) d.addErrback(lambda f: self.assertRaises(FileTimeoutError,f.raiseException)) return d