]> granicus.if.org Git - php/commitdiff
- MFH Add --[keep|show]-[all|skip|php] switches
authorMarcus Boerger <helly@php.net>
Wed, 21 Dec 2005 22:23:55 +0000 (22:23 +0000)
committerMarcus Boerger <helly@php.net>
Wed, 21 Dec 2005 22:23:55 +0000 (22:23 +0000)
run-tests.php

index 43e81d8640d28972538dc172902416133a276bdb..b0d6b9f8200845a5112f7a1a4b186ad5c3d84ef8 100755 (executable)
@@ -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;
                        }