Example #1
0
 /**
  * @param string $path
  * @return int|false the number of bytes written or false if an error occured
  */
 public function save($path)
 {
     if (!$this->document) {
         return 0;
     }
     return $this->document->save($path);
 }
Example #2
0
 /**
  * @param InputInterface $input
  * @param array          $duplicates
  * @param string         $filename
  * @param float          $duration
  */
 protected function logJUnit($input, array $duplicates, $filename, $duration)
 {
     $document = new JUnitXmlDocument();
     $suite = $document->addTestSuite();
     $suite->setName('n98-magerun: ' . $this->getName());
     $suite->setTimestamp(new \DateTime());
     $suite->setTime($duration);
     $testCase = $suite->addTestCase();
     $testCase->setName('Magento Duplicate Theme Files: ' . $input->getArgument('theme') . ' | ' . $input->getArgument('originalTheme'));
     $testCase->setClassname('ConflictsCommand');
     foreach ($duplicates as $duplicate) {
         $testCase->addFailure(sprintf('Duplicate File: %s', $duplicate), 'MagentoThemeDuplicateFileException');
     }
     $document->save($filename);
 }
 function getErrorsByFile()
 {
     $fileCount = [];
     $failures = $this->doc->getElementsByTagName("failure");
     for ($i = 0; $i < $failures->length; ++$i) {
         $item = $failures->item($i);
         $name = $item->parentNode->attributes->getNamedItem("name")->textContent;
         $fileCount[$name]++;
     }
     return $fileCount;
 }
Example #4
0
 /**
  * @test
  */
 public function addTestSuite()
 {
     $suite = $this->document->addTestSuite();
     $timeStamp = new \DateTime();
     $suite->setName('My Test Suite');
     $suite->setTimestamp($timeStamp);
     $suite->setTime(0.344244);
     $testCase = $suite->addTestCase();
     $xmlString = $this->document->saveXML();
     $xml = simplexml_load_string($xmlString);
     // There are currently no errors and failures
     $this->assertEquals('0', $xml->testsuite[0]->testcase[0]['errors']);
     $this->assertEquals('0', $xml->testsuite[0]->testcase[0]['failures']);
     $testCase->addError('My error 1', 'Exception');
     $testCase->addError('My error 2', 'Exception');
     $testCase->addError('My error 3', 'Exception');
     $testCase->addError('My error 4', 'Exception');
     $testCase->addFailure('My failure 1', 'Exception');
     $testCase->addFailure('My failure 2', 'Exception');
     $xmlString = $this->document->saveXML();
     $xml = simplexml_load_string($xmlString);
     $this->assertEquals($timeStamp->format(\DateTime::ISO8601), $xml->testsuite[0]['timestamp']);
     $this->assertEquals('0.344244', $xml->testsuite[0]['time']);
     $this->assertEquals('4', $xml->testsuite[0]->testcase[0]['errors']);
     $this->assertEquals('4', $xml->testsuite[0]['errors']);
     $this->assertEquals('2', $xml->testsuite[0]->testcase[0]['failures']);
     $this->assertEquals('2', $xml->testsuite[0]['failures']);
     $this->assertEquals('My error 2', (string) $xml->testsuite[0]->testcase[0]->error[1]);
     // Add another test case and see if testsuite error counter will be increased
     $testCase2 = $suite->addTestCase();
     $testCase2->addError('My error 1.1', 'Exception');
     $testCase2->addFailure('My failure 1.1', 'Exception');
     $xmlString = $this->document->saveXML();
     $xml = simplexml_load_string($xmlString);
     $this->assertEquals('1', $xml->testsuite[0]->testcase[1]['errors']);
     $this->assertEquals('5', $xml->testsuite[0]['errors']);
     $this->assertEquals('1', $xml->testsuite[0]->testcase[1]['failures']);
     $this->assertEquals('3', $xml->testsuite[0]['failures']);
 }
Example #5
0
 /**
  * @param array  $conflicts
  * @param string $filename
  * @param float  $duration
  */
 protected function logJUnit(array $conflicts, $filename, $duration)
 {
     $document = new JUnitXmlDocument();
     $suite = $document->addTestSuite();
     $suite->setName('n98-magerun: ' . $this->getName());
     $suite->setTimestamp(new DateTime());
     $suite->setTime($duration);
     $testCase = $suite->addTestCase();
     $testCase->setName('Magento Rewrite Conflict Test');
     $testCase->setClassname('ConflictsCommand');
     foreach ($conflicts as $conflict) {
         $message = sprintf('Rewrite conflict: Type %s | Class: %s, Rewrites: %s | Loaded class: %s', $conflict['Type'], $conflict['Class'], $conflict['Rewrites'], $conflict['Loaded Class']);
         $testCase->addFailure($message, 'MagentoRewriteConflictException');
     }
     $document->save($filename);
 }
 /**
  * @param array $data
  * @param string $filename
  * @param float $duration
  */
 protected function logJUnit(array $data, $filename, $duration)
 {
     $document = new JUnitXmlDocument();
     $suite = $document->addTestSuite();
     $suite->setName('n98-magerun: ' . $this->getName());
     $suite->setTimestamp(new \DateTime());
     $suite->setTime($duration);
     $testCase = $suite->addTestCase();
     $testCase->setName('Magento Setup Version Test');
     $testCase->setClassname('CompareVersionsCommand');
     if (count($data) > 0) {
         foreach ($data as $moduleSetup) {
             if (stristr($moduleSetup['Status'], 'error')) {
                 $testCase->addFailure(sprintf('Setup Script Error: [Setup %s]', $moduleSetup['Setup']), 'MagentoSetupScriptVersionException');
             }
         }
     }
     $document->save($filename);
 }