Exemplo n.º 1
0
 /**
  * Populate the collection of test case objects of a given test Suite
  * from an array that contains test cases path
  *
  * @param TestSuite $testSuite     Target test suite to populate
  * @param Array     $testCaseArray List of testcases to attach to the testsuite
  * @param Boolean   $isDependency  Is the testcases added by the user or added as dependency
  *
  * @return Array
  */
 function populateTestSuite($testSuite, $testCasesArray, $isDependency = false)
 {
     foreach ($testCasesArray as $test) {
         try {
             $testCase = new TestCase(substr($test, 0, -3));
             if ($testCase->checkTags()) {
                 $missingParams = $testCase->checkSetupParams();
                 if (!empty($missingParams)) {
                     $this->error[] = 'Testcase "' . $test . '" requeires missing conf param(s): ' . join(', ', $missingParams);
                 }
                 $dependencies = $testCase->getDependencies();
                 try {
                     $this->attachDependencies($testSuite, $dependencies, $test);
                 } catch (OutOfRangeException $exception) {
                     $this->error[] = $exception->getMessage();
                 }
                 $testSuite->attach($testCase, $isDependency);
                 $this->storeTestCase($testCase, $testSuite);
             } else {
                 $this->error[] = 'Testcase "' . $test . '" were removed due to an incompatible tag';
             }
         } catch (RuntimeException $e) {
             $this->logger->LogWarning($e->getMessage());
             $this->error[] = $e->getMessage();
         }
     }
     return array("info" => $this->info, "error" => $this->error);
 }