summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2005-12-21 22:23:55 +0000
committerMarcus Boerger <helly@php.net>2005-12-21 22:23:55 +0000
commit970298401b4f7b0fd63a8a68cf1cee8000b89c2c (patch)
treedc2797af076a066ea78d5e4626b4a71be3a80c0a
parentfc0fe6472ef662b57de3bfd2df79c3f2b3951598 (diff)
downloadphp-git-970298401b4f7b0fd63a8a68cf1cee8000b89c2c.tar.gz
- MFH Add --[keep|show]-[all|skip|php] switches
-rwxr-xr-xrun-tests.php62
1 files changed, 58 insertions, 4 deletions
diff --git a/run-tests.php b/run-tests.php
index 43e81d8640..b0d6b9f820 100755
--- a/run-tests.php
+++ b/run-tests.php
@@ -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;
}