summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatteo Beccati <mbeccati@php.net>2014-05-27 12:04:32 +0200
committerMatteo Beccati <mbeccati@php.net>2014-05-27 12:04:32 +0200
commitb85990fd8f1dcce4bf1af4d48ce3816a2ebd5b99 (patch)
treefc944a61558b3ab667cbdc4a41e0ad04008e0196
parent40fd85821bb50580f76bec40667087bd66a48461 (diff)
parenteb2bd850041a84ac40d3b025419fb9a1b88b2280 (diff)
downloadphp-git-b85990fd8f1dcce4bf1af4d48ce3816a2ebd5b99.tar.gz
Merge branch 'PHP-5.6'
* PHP-5.6: Escape non-printable characters in the junit XML output
-rwxr-xr-xrun-tests.php3
1 files changed, 3 insertions, 0 deletions
diff --git a/run-tests.php b/run-tests.php
index cd57747b2f..1b5bcec253 100755
--- a/run-tests.php
+++ b/run-tests.php
@@ -2708,6 +2708,9 @@ function junit_mark_test_as($type, $file_name, $test_name, $time = null, $messag
junit_suite_record($suite, 'execution_time', $time);
$escaped_details = htmlspecialchars($details, ENT_QUOTES, 'UTF-8');
+ $escaped_details = preg_replace_callback('/[\0-\x08\x0B\x0C\x0E-\x1F]/', function ($c) {
+ return sprintf('[[0x%02x]]', ord($c[0]));
+ }, $escaped_details);
$escaped_message = htmlspecialchars($message, ENT_QUOTES, 'UTF-8');
$escaped_test_name = basename($file_name) . ' - ' . htmlspecialchars($test_name, ENT_QUOTES);