/** * Constructor of the class * * @param String $testSuiteName Name of the testsuite * * @throws {InvalidArgumentException} If the $testSuiteName param is an empty string. * * @return Void */ public function __construct($testSuiteName, $user = null) { if (!empty($testSuiteName)) { $this->name = $testSuiteName; $testSuiteManager = new TestSuiteManager(); $this->_testSuiteFile = new SplFileInfo($testSuiteManager->getTestSuitesLocation() . $this->name . '.rb'); } else { throw new InvalidArgumentException('TestSuite constructor needs a string parameter. Input was : ' . $testSuiteName); } $this->_testCasesMap = array(); $this->_user = $user; }
/** * Retrieve testsuite regression status * * @return Array */ function getTestsuiteRegression($testSuiteName) { //@todo Clean up debug stuff $testSuiteManager = new TestSuiteManager(); $testSuite = $testSuiteManager->getTestSuite($testSuiteName); $testCasesArray = $testSuite->getTestCases(); $testCaseManager = new TestCaseManager(); $regressionArray = array(); //PDO::setAttribute("PDO::MYSQL_ATTR_USE_BUFFERED_QUERY", true); if (!empty($testCasesArray)) { foreach ($testCasesArray as $key => $testCaseName) { $regression = FALSE; $testCase = new TestCase(substr($testCaseName, 0, -3)); $rspecStructure = $testCase->retrieveRspecStructure(); foreach ($rspecStructure as $rspeckey => $rspecLabel) { if (!empty($rspecLabel)) { try { unset($result); $sqlString = "SELECT testsuite_id as Testsuite, FROM_UNIXTIME(date) as Date, status as Status FROM testcase_result\n WHERE rspec_label = " . $this->dbHandler->quote($rspecLabel) . " ORDER BY date DESC"; $result = $this->dbHandler->query($sqlString); $result->setFetchMode(PDO::FETCH_OBJ); $rows = $result->fetchAll(); // echo "<br>".$rspecLabel." : <br> ----> " ; //echo $rows[0]->testsuite; echo $rows[1]->Testsuite; if ($rows[0]->Status == ResultManager::STATUS_FAILURE && $rows[1]->Status == ResultManager::STATUS_PASS) { //echo $rows[0]->Date."-+-"; //echo $rows[0]->Status."<br>"; /*echo $rows[1]->Date."-+-<br>"; echo $rows[1]->Status."<br>";*/ $regression = TRUE; $regressionArray[$testCaseName][$rspecLabel] = $regression; } //there would be a regression if execution at 'T-1' has Passed Status and execution at 'T' has Failure status } catch (Exception $e) { echo $e->getMessage(); } } } } } /*if(!empty($testCasesArray)) { foreach ($testCasesArray as $key => $testCaseName) { $regression = FALSE; $testCase = new TestCase(substr($testCaseName, 0, -3)); $rspecStructure = $testCase->retrieveRspecStructure(); foreach ($rspecStructure as $rspeckey => $rspecLabel) { $lastExec = $testCase->getLastOldExecutionStatusByRspecLabel($rspecLabel); echo $rspecLabel." -- ".$lastExec."<br>"; if(!$lastExec) { $regression = TRUE; $regressionArray[$testCaseName][$rspecLabel] = $regression; } } } */ return $regressionArray; }
<a href="cases.php" class="community">Manage testsuites</a> <a href="result.php" class="community">View execution results</a> <a href="myTests.php" class="community">Available TestCases</a> </div> <div id="body_skin"> <table width="100%"> <tr> <td width="10%" nowrap="nowrap"> <form id="run" action="" method="POST"> <div id="submit_panel"> <noscript><input type="submit" value="Run !" /></noscript> </div> <fieldset class="fieldset"> <legend><span class="fieldsetTitle">Testsuites</span></legend> <ul id="menu">'; $testSuiteManager = new TestSuiteManager(); $testsuites = $testSuiteManager->searchTestsuites(); foreach ($testsuites as $t => $cases) { echo ' <li> <input type="radio" name="run" value="' . $t . '" />' . $t . ' <a href="index.php?details=' . $t . '"> Details</a> </li>'; } echo ' </ul> </fieldset> </form>'; if (isset($_REQUEST['details'])) { echo ' <fieldset class="fieldset">
$testCases = array(); foreach ($testCasesNumbers as $number) { if (isset($testCasesList[$number])) { $testCases[] = $testCasesList[$number]; } else { if (!$quiet) { echo "\"" . $number . "\" is not a valid testcase index, to verify your input, try\n>php tic.php testcases --numbered\n"; } } } } else { echo "You need to use --old_testsuite or --testcases parameters to pass list of testcases, you can't use both\n"; } if (isset($testCases) && !empty($testCases)) { $testSuite = new TestSuite($parameters["name"]); $testSuiteManager = new TestSuiteManager(); $populateResult = $testSuiteManager->populateTestSuite($testSuite, $testCases); if (!$quiet) { foreach ($populateResult['info'] as $message) { echo "Info: " . $message . "\n"; } foreach ($populateResult['error'] as $message) { echo "Error: " . $message . "\n"; } } $testSuite->storeTestSuiteDetails(); $testSuite->bindConfigurationElements(); $testSuite->loadTestSuite(); if (!$quiet) { echo "Testsuite \"" . $parameters["name"] . "\" stored\n"; }
ini_set('display_errors', 'on'); ini_set('max_execution_time', 0); ini_set('memory_limit', -1); ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . dirname(__DIR__) . DIRECTORY_SEPARATOR . 'include'); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); require_once 'Setup.class.php'; require_once 'TestSuite.class.php'; require_once 'TestSuiteManager.class.php'; require_once 'TestCaseManager.class.php'; require_once 'LogManager.class.php'; $logger = new LogManager("../log/log.txt", LogManager::DEBUG); $testSuiteManager = new TestSuiteManager(); $testSuiteManager->setLogger($logger); $testCaseManager = new TestCaseManager(); $output = ''; $logViewer = ''; $info = array(); $error = array(); if (isset($_REQUEST['testcases_to_add'])) { if (!empty($_REQUEST['testcases_to_add'])) { $testCasesToAdd = explode(',', $_REQUEST['testcases_to_add']); if (!empty($_REQUEST['testsuite_name'])) { require_once dirname(__FILE__) . '/../include/TestSuite.class.php'; require_once dirname(__FILE__) . '/../include/TestCase.class.php'; try { $testSuite = new TestSuite($_REQUEST['testsuite_name']); try {