/** * detectNotify method * * Check if it's windows - if it is set to log (temporary while some equivalent is found) * * Else, check which of the notify methods are available, first found is used * * @param bool $reset false * @return void * @access protected */ protected static function _detectNotify($reset = false) { if (!$reset && Notify::$method) { return Notify::$method; } if (DS === '/') { foreach (Notify::$notifiers as $method => $params) { if (is_string($params)) { $params = array('cmd' => $params); } exec('which ' . $params['cmd'], $_, $return); if (!$return) { Notify::$method = $method; if (!empty($params['statuses'])) { Notify::$statuses = $params['statuses']; } return $method; } } } else { Notify::$method = 'Log'; return 'Log'; } return false; }
/** * main method * * Check for the existance of a tmp/autopilot_running file. If it exists - and is less than an hour * old do not do anything to prevent the possibility of running autotest several times in parallel * on the same files. If the file is more than an hour old delete it and continue. * Delete the tmp/autopilot_stop file if it exists and being autopilot test/checking process. * * @return void * @access public */ function main() { if (!$this->_registerPid()) { $this->out('Unable to register Pid'); $this->_stop(); } if (file_exists($this->params['working'] . DS . '.autotest')) { include $this->params['working'] . DS . '.autotest'; } if (!empty($this->params['notify'])) { $this->settings['notify'] = $this->params['notify']; } if (!empty($this->params['mode'])) { $this->settings['mode'] = $this->params['mode']; } $suffix = ''; if (!empty($this->settings['mode'])) { $suffix = ' (' . $this->settings['mode'] . ' mode)'; } Notify::$method = $this->settings['notify']; $this->addHooks(); Notify::message('Autopilot Starting', 'in ' . APP_DIR . $suffix, 0, false); $this->buildPaths(); $this->run(); }