$cmd = "$php $pass_options $repeat_option $ini_settings -f \"$test_file\" $args$cmdRedirect";
}
+ $orig_cmd = $cmd;
if ($valgrind) {
$env['USE_ZEND_ALLOC'] = '0';
$env['ZEND_DONT_UNLOAD_MODULES'] = 1;
if (preg_match("/^$wanted_re\$/s", $output)) {
$passed = true;
- if (!$cfg['keep']['php']) {
+ if (!$cfg['keep']['php'] && !$leaked) {
@unlink($test_file);
}
@unlink($tmp_post);
error("Cannot create test diff - $diff_filename");
}
+ // write .log
+ if (strpos($log_format, 'L') !== false && file_put_contents($log_filename, "
+---- EXPECTED OUTPUT
+$wanted
+---- ACTUAL OUTPUT
+$output
+---- FAILED
+") === false) {
+ error("Cannot create test log - $log_filename");
+ error_report($file, $log_filename, $tested);
+ }
+ }
+
+ if (!$passed || $leaked) {
// write .sh
if (strpos($log_format, 'S') !== false) {
$sh_script = <<<SH
case "$1" in
"gdb")
- gdb --args {$cmd}
+ gdb --args {$orig_cmd}
;;
"valgrind")
- USE_ZEND_ALLOC=0 valgrind $2 ${cmd}
+ USE_ZEND_ALLOC=0 valgrind $2 ${orig_cmd}
;;
"rr")
- rr record $2 ${cmd}
+ rr record $2 ${orig_cmd}
;;
*)
- {$cmd}
+ {$orig_cmd}
;;
esac
SH;
}
chmod($sh_filename, 0755);
}
-
- // write .log
- if (strpos($log_format, 'L') !== false && file_put_contents($log_filename, "
----- EXPECTED OUTPUT
-$wanted
----- ACTUAL OUTPUT
-$output
----- FAILED
-") === false) {
- error("Cannot create test log - $log_filename");
- error_report($file, $log_filename, $tested);
- }
}
if ($valgrind && $leaked && $cfg["show"]["mem"]) {