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); }
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; }