Merge remote-tracking branch 'upstream/4.5' into 4.5-master-2015-01-05-23-28-33
[civicrm-core.git] / Civi / CiUtil / JenkinsParser.php
1 <?php
2 namespace Civi\CiUtil;
3
4 /**
5 * Parse Jenkins result files
6 */
7 class JenkinsParser {
8 /**
9 * @param string $content xml data
10 * @return array (string $testName => string $status)
11 */
12 public static function parseXmlResults($content) {
13 $xml = simplexml_load_string($content);
14 $results = array();
15 foreach ($xml->suites as $suites) {
16 foreach ($suites->suite as $suite) {
17 foreach ($suite->cases as $cases) {
18 foreach ($cases->case as $case) {
19 $name = "{$case->className}::{$case->testName}";
20 if ($case->failedSince == 0) {
21 $results[$name] = 'pass';
22 }
23 else {
24 $results[$name] = 'fail';
25 }
26 }
27 }
28 }
29 }
30 return $results;
31 }
32 }