global $JUNIT;
if (!junit_enabled()) return;
- $xml = '<' . '?' . 'xml version="1.0" encoding="UTF-8"' . '?' . '>'. PHP_EOL .
- '<testsuites>' . PHP_EOL;
+ $xml = '<' . '?' . 'xml version="1.0" encoding="UTF-8"' . '?' . '>'. PHP_EOL;
+ $xml .= sprintf(
+ '<testsuites name="%s" tests="%s" failures="%d" errors="%d" skip="%d" time="%s">' . PHP_EOL,
+ $JUNIT['name'], $JUNIT['test_total'], $JUNIT['test_fail'], $JUNIT['test_error'], $JUNIT['test_skip'],
+ $JUNIT['execution_time']
+ );
$xml .= junit_get_suite_xml();
$xml .= '</testsuites>';
fwrite($JUNIT['fp'], $xml);
function junit_get_suite_xml($suite_name = '') {
global $JUNIT;
- $suite = $suite_name ? $JUNIT['suites'][$suite_name] : $JUNIT;
-
- $result = sprintf(
- '<testsuite name="%s" tests="%s" failures="%d" errors="%d" skip="%d" time="%s">' . PHP_EOL,
- $suite['name'], $suite['test_total'], $suite['test_fail'], $suite['test_error'], $suite['test_skip'],
- $suite['execution_time']
- );
+ $result = "";
- foreach($suite['suites'] as $sub_suite) {
- $result .= junit_get_suite_xml($sub_suite['name']);
- }
+ foreach ($JUNIT['suites'] as $suite_name => $suite) {
+ $result .= sprintf(
+ '<testsuite name="%s" tests="%s" failures="%d" errors="%d" skip="%d" time="%s">' . PHP_EOL,
+ $suite['name'], $suite['test_total'], $suite['test_fail'], $suite['test_error'], $suite['test_skip'],
+ $suite['execution_time']
+ );
- // Output files only in subsuites
- if (!empty($suite_name)) {
- foreach($suite['files'] as $file) {
- $result .= $JUNIT['files'][$file]['xml'];
+ if (!empty($suite_name)) {
+ foreach($suite['files'] as $file) {
+ $result .= $JUNIT['files'][$file]['xml'];
+ }
}
- }
- $result .= '</testsuite>' . PHP_EOL;
+ $result .= '</testsuite>' . PHP_EOL;
+ }
return $result;
}