Commit | Line | Data |
---|---|---|
3433cc3b TO |
1 | <?php |
2 | namespace Civi\CiUtil; | |
3 | ||
4 | /** | |
5 | * Parse Jenkins result files | |
6 | */ | |
7 | class JenkinsParser { | |
34f3bbd9 | 8 | |
3433cc3b | 9 | /** |
04855556 TO |
10 | * @param string $content |
11 | * Xml data. | |
a6c01b45 CW |
12 | * @return array |
13 | * (string $testName => string $status) | |
3433cc3b TO |
14 | */ |
15 | public static function parseXmlResults($content) { | |
16 | $xml = simplexml_load_string($content); | |
c64f69d9 | 17 | $results = []; |
3433cc3b TO |
18 | foreach ($xml->suites as $suites) { |
19 | foreach ($suites->suite as $suite) { | |
20 | foreach ($suite->cases as $cases) { | |
21 | foreach ($cases->case as $case) { | |
22 | $name = "{$case->className}::{$case->testName}"; | |
23 | if ($case->failedSince == 0) { | |
24 | $results[$name] = 'pass'; | |
25 | } | |
26 | else { | |
27 | $results[$name] = 'fail'; | |
28 | } | |
29 | } | |
30 | } | |
31 | } | |
32 | } | |
33 | return $results; | |
34 | } | |
96025800 | 35 | |
ef10e0b5 | 36 | } |