Example #1
0
 /**
  * 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;
 }
Example #3
0
            <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">
Example #4
0
     $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";
     }
Example #5
0
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 {