Commit | Line | Data |
---|---|---|
3433cc3b TO |
1 | <?php |
2 | namespace Civi\CiUtil; | |
3 | ||
4 | /** | |
5 | * Parse Jenkins result files | |
6 | */ | |
7 | class JenkinsParser { | |
8 | /** | |
04855556 TO |
9 | * @param string $content |
10 | * Xml data. | |
a6c01b45 CW |
11 | * @return array |
12 | * (string $testName => string $status) | |
3433cc3b TO |
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 | } | |
96025800 | 34 | |
ef10e0b5 | 35 | } |