Merge branch 4.5 into 4.6
[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
10 * Xml data.
11 * @return array
12 * (string $testName => string $status)
13 */
14 public static function parseXmlResults($content) {
15 $xml = simplexml_load_string($content);
16 $results = array();
17 foreach ($xml->suites as $suites) {
18 foreach ($suites->suite as $suite) {
19 foreach ($suite->cases as $cases) {
20 foreach ($cases->case as $case) {
21 $name = "{$case->className}::{$case->testName}";
22 if ($case->failedSince == 0) {
23 $results[$name] = 'pass';
24 }
25 else {
26 $results[$name] = 'fail';
27 }
28 }
29 }
30 }
31 }
32 return $results;
33 }
34
35 }