/** * @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); }
/** * @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; }
/** * @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']); }
/** * @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); }