public static function startFtpServer() { // Arguments to server process $args = array('debugServerProtocolToFile' => NULL); // Start server process self::$serverProcess = Runtime::getInstance()->newInstance(NULL, 'class', 'net.xp_framework.unittest.peer.ftp.TestingServer', array_values($args)); self::$serverProcess->in->close(); // Check if startup succeeded $status = self::$serverProcess->out->readLine(); if (1 != sscanf($status, '+ Service %[0-9.:]', self::$bindAddress)) { try { self::shutdownFtpServer(); } catch (IllegalStateException $e) { $status .= $e->getMessage(); } throw new PrerequisitesNotMetError('Cannot start FTP server: ' . $status, NULL); } }