com php-src: Fix two issues with run-tests.php: run-tests.php
| From: | Anthony Ferrara | Date: | Sat, 07 Jul 2012 02:37:50 +0000 |
| Subject: | com php-src: Fix two issues with run-tests.php: run-tests.php | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-69528@lists.php.net to get a copy of this message | ||
Commit: 26b37f1792dfaf9b0b30f81e492c8f68b9ece571
Author: Anthony Ferrara <ircmaxell@php.net> Fri, 6 Jul 2012 22:37:50 -0400
Parents: 157ddd95773114c1148536b4b32fcbedf0c79b20
Branches: PHP-5.3 PHP-5.4 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=26b37f1792dfaf9b0b30f81e492c8f68b9ece571
Log:
Fix two issues with run-tests.php
1. E_STRICT error due to passing return of array_intersect() into reset() directly
2. Details in junit output can produce invalid UTF-8 and XML due to unescaped characters
Changed paths:
M run-tests.php
Diff:
diff --git a/run-tests.php b/run-tests.php
index 2a46986..302167a 100755
--- a/run-tests.php
+++ b/run-tests.php
@@ -2668,12 +2668,15 @@ function junit_mark_test_as($type, $file_name, $test_name, $time = null,
$messag
$time = null !== $time ? $time : junit_get_timer($file_name);
junit_suite_record($suite, 'execution_time', $time);
+ $escaped_details = htmlspecialchars($details, ENT_QUOTES, 'UTF-8');
+
$escaped_test_name = basename($file_name) . ' - ' . htmlspecialchars($test_name,
ENT_QUOTES);
$JUNIT['files'][$file_name]['xml'] = "<testcase
classname='$suite' name='$escaped_test_name' time='$time'>\n";
if (is_array($type)) {
$output_type = $type[0] . 'ED';
- $type = reset(array_intersect(array('XFAIL', 'FAIL'), $type));
+ $temp = array_intersect(array('XFAIL', 'FAIL'), $type);
+ $type = reset($temp);
} else {
$output_type = $type . 'ED';
}
@@ -2688,10 +2691,10 @@ function junit_mark_test_as($type, $file_name, $test_name, $time = null,
$messag
$JUNIT['files'][$file_name]['xml'] .=
"<skipped>$message</skipped>\n";
} elseif('FAIL' == $type) {
junit_suite_record($suite, 'test_fail');
- $JUNIT['files'][$file_name]['xml'] .= "<failure
type='$output_type' message='$message'>$details</failure>\n";
+ $JUNIT['files'][$file_name]['xml'] .= "<failure
type='$output_type'
message='$message'>$escaped_details</failure>\n";
} else {
junit_suite_record($suite, 'test_error');
- $JUNIT['files'][$file_name]['xml'] .= "<error
type='$output_type' message='$message'>$details</error>\n";
+ $JUNIT['files'][$file_name]['xml'] .= "<error
type='$output_type'
message='$message'>$escaped_details</error>\n";
}
$JUNIT['files'][$file_name]['xml'] .= "</testcase>\n";