예제 #1
0
 /**
  * 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;
 }
예제 #2
0
 /**
  * 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();
 }