public function sanityAction()
 {
     // Get db
     if (Zend_Registry::isRegistered('Zend_Db') && ($db = Zend_Registry::get('Zend_Db')) instanceof Zend_Db_Adapter_Abstract) {
         Engine_Sanity::setDefaultDbAdapter($db);
     }
     // Get packages
     $packages = $this->_packageManager->listInstalledPackages();
     // Get dependencies
     $this->view->dependencies = $dependencies = $this->_packageManager->depend();
     // Get tests
     $this->view->tests = $tests = new Engine_Sanity();
     $packageIndex = array();
     foreach ($packages as $package) {
         $packageTests = $package->getTests();
         // No tests
         if (empty($packageTests)) {
             continue;
         }
         $packageIndex[$package->getKey()] = $package;
         // Make battery
         $battery = new Engine_Sanity(array('name' => $package->getKey()));
         foreach ($packageTests as $test) {
             $battery->addTest($test->toArray());
         }
         $tests->addTest($battery);
     }
     $this->view->packageIndex = $packageIndex;
     $tests->run();
 }
 public function prepareAction()
 {
     // Skip
     $skip = $this->_getParam('skip');
     if (null !== $skip) {
         $this->_session->skipDiffErrorFiles = (bool) $skip;
         return $this->_helper->redirector->gotoRoute(array('action' => 'vfs'));
     }
     // Get navigation
     $this->view->installNavigation = $this->getInstallNavigation('prepare');
     // Clean cache
     $this->_packageManager->getCache()->clean();
     // Check for modifications to installer (to prevent problems)
     $this->_checkForModifications(true);
     // Get db
     if (Zend_Registry::isRegistered('Zend_Db') && ($db = Zend_Registry::get('Zend_Db')) instanceof Zend_Db_Adapter_Abstract) {
         Engine_Sanity::setDefaultDbAdapter($db);
     }
     // Get packages
     $this->view->transaction = $transaction = $this->_packageManager->decide((array) $this->_getParam('packages'), $this->_getParam('actions'));
     // Whoops, didn't select anything?
     if (!$transaction) {
         $this->view->selectError = true;
         return;
     }
     // Get dependencies
     $this->view->dependencies = $dependencies = $transaction->getDependencies();
     $dependencyError = false;
     foreach ($dependencies as $dependency) {
         $dependencyError |= $dependency->hasErrors();
     }
     $this->view->dependencyError = $dependencyError;
     // Get sanity
     $this->view->tests = $tests = $transaction->getTests();
     $this->view->testsMaxErrorLevel = $testsMaxErrorLevel = $tests->getMaxErrorLevel();
     $this->view->testsError = $testsError = $testsMaxErrorLevel >= 4;
     // Get file operations
     $this->view->fileOperations = $fileOperations = $transaction->getFileOperations();
     $diffError = false;
     foreach ($fileOperations as $fileOperation) {
         $diffError |= $fileOperation['error'];
     }
     $this->view->diffError = $diffError;
     // Check if we can install
     $this->view->prepareError = $prepareError = $dependencyError || $testsError || $diffError;
     $this->view->diffErrorOnly = $diffErrorOnly = !$dependencyError && !$testsError && $diffError;
     // Store the transaction in the cache
     $this->_saveTransaction($transaction);
 }
示例#3
0
文件: Manager.php 项目: robeendey/ce
 public function test($transaction)
 {
     // Verify transaction
     $transaction = $this->_verifyTransaction($transaction);
     // Check registry for db adapter
     if (Zend_Registry::isRegistered('Zend_Db') && ($db = Zend_Registry::get('Zend_Db')) instanceof Zend_Db_Adapter_Abstract) {
         Engine_Sanity::setDefaultDbAdapter($db);
     }
     // Make tests
     $batteries = new Engine_Sanity();
     foreach ($transaction as $operation) {
         $battery = $operation->getTests();
         if ($battery) {
             $batteries->addTest($battery);
         }
         unset($operation);
     }
     $batteries->run();
     return $batteries;
 }