|
|
|
@ -236,6 +236,16 @@ $temp_source = null; |
|
|
|
$temp_target = null; |
|
|
|
$temp_urlbase = null; |
|
|
|
|
|
|
|
$cfgtypes = array('show', 'keep'); |
|
|
|
$cfgfiles = array('skip', 'php'); |
|
|
|
$cfg = array(); |
|
|
|
foreach($cfgtypes as $type) { |
|
|
|
$cfg[$type] = array(); |
|
|
|
foreach($cfgfiles as $file) { |
|
|
|
$cfg[$type][$file] = false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (getenv('TEST_PHP_ARGS')) |
|
|
|
{ |
|
|
|
if (!isset($argc) || !$argc || !isset($argv)) |
|
|
|
@ -286,6 +296,17 @@ if (isset($argc) && $argc > 1) { |
|
|
|
$ini_overwrites[] = $argv[++$i]; |
|
|
|
break; |
|
|
|
//case 'h'
|
|
|
|
case '--keep-all': |
|
|
|
foreach($cfgfiles as $file) { |
|
|
|
$cfg['keep'][$file] = true; |
|
|
|
} |
|
|
|
break; |
|
|
|
case '--keep-skip': |
|
|
|
$cfg['keep']['skip'] = true; |
|
|
|
break; |
|
|
|
case '--keep-php': |
|
|
|
$cfg['keep']['php'] = true; |
|
|
|
break; |
|
|
|
//case 'l'
|
|
|
|
case 'm': |
|
|
|
$leak_check = true; |
|
|
|
@ -304,6 +325,17 @@ if (isset($argc) && $argc > 1) { |
|
|
|
$output_file = $argv[++$i]; |
|
|
|
$just_save_results = true; |
|
|
|
break; |
|
|
|
case '--show-all': |
|
|
|
foreach($cfgfiles as $file) { |
|
|
|
$cfg['show'][$file] = true; |
|
|
|
} |
|
|
|
break; |
|
|
|
case '--show-skip': |
|
|
|
$cfg['show']['skip'] = true; |
|
|
|
break; |
|
|
|
case '--show-php': |
|
|
|
$cfg['show']['php'] = true; |
|
|
|
break; |
|
|
|
case '--temp-source': |
|
|
|
$temp_source = $argv[++$i]; |
|
|
|
break; |
|
|
|
@ -387,6 +419,12 @@ Options: |
|
|
|
to your source files and <tdir> some pach in your web page |
|
|
|
hierarchy with <url> pointing to <tdir>. |
|
|
|
|
|
|
|
--keep-[all|php|skip] |
|
|
|
Do not delete 'all' files, 'php' test file, 'skip' file. |
|
|
|
|
|
|
|
--show-[all|php|skip] |
|
|
|
Show 'all' files, 'php' test file, 'skip' file. |
|
|
|
|
|
|
|
HELP; |
|
|
|
exit(1); |
|
|
|
} |
|
|
|
@ -831,7 +869,7 @@ function run_all_tests($test_files, $redir_tested = NULL) |
|
|
|
//
|
|
|
|
function run_test($php, $file) |
|
|
|
{ |
|
|
|
global $log_format, $info_params, $ini_overwrites, $cwd, $PHP_FAILED_TESTS, $pass_options, $DETAILED, $IN_REDIRECT, $test_cnt, $test_idx, $leak_check, $temp_source, $temp_target; |
|
|
|
global $log_format, $info_params, $ini_overwrites, $cwd, $PHP_FAILED_TESTS, $pass_options, $DETAILED, $IN_REDIRECT, $test_cnt, $test_idx, $leak_check, $temp_source, $temp_target, $cfg; |
|
|
|
|
|
|
|
$temp_filenames = null; |
|
|
|
$org_file = $file; |
|
|
|
@ -1024,6 +1062,11 @@ TEST $file |
|
|
|
settings2array($ini_overwrites,$skipif_params); |
|
|
|
settings2params($skipif_params); |
|
|
|
|
|
|
|
if ($cfg['show']['skip']) { |
|
|
|
echo "\n========SKIP========\n"; |
|
|
|
echo $section_text['SKIPIF']; |
|
|
|
echo "========DONE========\n"; |
|
|
|
} |
|
|
|
save_text($test_skipif, $section_text['SKIPIF'], $temp_skipif); |
|
|
|
$extra = substr(PHP_OS, 0, 3) !== "WIN" ? |
|
|
|
"unset REQUEST_METHOD; unset QUERY_STRING; unset PATH_TRANSLATED; unset SCRIPT_FILENAME; unset REQUEST_METHOD;": ""; |
|
|
|
@ -1039,7 +1082,9 @@ TEST $file |
|
|
|
if (isset($old_php)) { |
|
|
|
$php = $old_php; |
|
|
|
} |
|
|
|
@unlink($test_skipif); |
|
|
|
if (!$cfg['keep']['skip']) { |
|
|
|
@unlink($test_skipif); |
|
|
|
} |
|
|
|
return 'SKIPPED'; |
|
|
|
} |
|
|
|
if (!strncasecmp('info', trim($output), 4)) { |
|
|
|
@ -1135,6 +1180,11 @@ TEST $file |
|
|
|
settings2params($ini_settings); |
|
|
|
|
|
|
|
// We've satisfied the preconditions - run the test!
|
|
|
|
if ($cfg['show']['php']) { |
|
|
|
echo "\n========TEST========\n"; |
|
|
|
echo $section_text['FILE']; |
|
|
|
echo "========DONE========\n"; |
|
|
|
} |
|
|
|
save_text($test_file, $section_text['FILE'], $temp_file); |
|
|
|
if (array_key_exists('GET', $section_text)) { |
|
|
|
$query_string = trim($section_text['GET']); |
|
|
|
@ -1252,7 +1302,9 @@ COMMAND $cmd |
|
|
|
*/ |
|
|
|
if (preg_match("/^$wanted_re\$/s", $output)) { |
|
|
|
$passed = true; |
|
|
|
@unlink($test_file); |
|
|
|
if (!$cfg['keep']['php']) { |
|
|
|
@unlink($test_file); |
|
|
|
} |
|
|
|
if (isset($old_php)) { |
|
|
|
$php = $old_php; |
|
|
|
} |
|
|
|
@ -1267,7 +1319,9 @@ COMMAND $cmd |
|
|
|
// compare and leave on success
|
|
|
|
if (!strcmp($output, $wanted)) { |
|
|
|
$passed = true; |
|
|
|
@unlink($test_file); |
|
|
|
if (!$cfg['keep']['php']) { |
|
|
|
@unlink($test_file); |
|
|
|
} |
|
|
|
if (isset($old_php)) { |
|
|
|
$php = $old_php; |
|
|
|
} |
|
|
|
|