mirror of
https://github.com/php/php-src.git
synced 2025-01-22 11:44:09 +08:00
add support for Valgrind 3.3.0 (which doesn't have --log-file-exactly option)
This commit is contained in:
parent
b56229e928
commit
5040c2131c
@ -76,6 +76,8 @@ putenv('SSH_CONNECTION=deleted');
|
||||
$cwd = getcwd();
|
||||
set_time_limit(0);
|
||||
|
||||
$valgrind_version = 0;
|
||||
|
||||
// delete as much output buffers as possible
|
||||
while(@ob_end_clean());
|
||||
if (ob_get_level()) echo "Not all buffers were deleted.\n";
|
||||
@ -972,6 +974,7 @@ function run_test($php, $file, $env, $unicode_semantics)
|
||||
global $leak_check, $temp_source, $temp_target, $cfg, $environment;
|
||||
global $no_clean;
|
||||
global $unicode_and_native;
|
||||
global $valgrind_version;
|
||||
|
||||
$temp_filenames = null;
|
||||
$org_file = $file;
|
||||
@ -1441,7 +1444,26 @@ TEST $file
|
||||
|
||||
if ($leak_check) {
|
||||
$env['USE_ZEND_ALLOC'] = '0';
|
||||
$cmd = "valgrind -q --tool=memcheck --trace-children=yes --log-file-exactly=$memcheck_filename $cmd";
|
||||
if (!$valgrind_version) {
|
||||
$valgrind_cmd = "valgrind --version";
|
||||
$out = system_with_timeout($valgrind_cmd);
|
||||
$replace_count = 0;
|
||||
|
||||
if (!$out) {
|
||||
error("Valgrind returned no version info, cannot proceed.\nPlease check if Valgrind is installed.");
|
||||
} else {
|
||||
$valgrind_version = preg_replace("/valgrind-([0-9])\.([0-9])\.([0-9]+)(\s+)/", '$1$2$3', $out, 1, $replace_count);
|
||||
if ($replace_count != 1 || !is_numeric($valgrind_version)) {
|
||||
error("Valgrind returned invalid version info (\"$out\"), cannot proceed.");
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($valgrind_version >= 330) {
|
||||
/* valgrind 3.3.0+ doesn't have --log-file-exactly option */
|
||||
$cmd = "valgrind -q --tool=memcheck --trace-children=yes --log-file=$memcheck_filename $cmd";
|
||||
} else {
|
||||
$cmd = "valgrind -q --tool=memcheck --trace-children=yes --log-file-exactly=$memcheck_filename $cmd";
|
||||
}
|
||||
} else {
|
||||
$env['USE_ZEND_ALLOC'] = '1';
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user