iliaa           Tue Dec  6 21:01:59 2005 EDT

  Modified files:              (Branch: PHP_5_1)
    /php-src    run-tests.php 
  Log:
  Fixed filename picker.
  Various modernizations of the script.
  
  
http://cvs.php.net/diff.php/php-src/run-tests.php?r1=1.226.2.4&r2=1.226.2.5&ty=u
Index: php-src/run-tests.php
diff -u php-src/run-tests.php:1.226.2.4 php-src/run-tests.php:1.226.2.5
--- php-src/run-tests.php:1.226.2.4     Tue Dec  6 19:03:46 2005
+++ php-src/run-tests.php       Tue Dec  6 21:01:58 2005
@@ -23,7 +23,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: run-tests.php,v 1.226.2.4 2005/12/07 00:03:46 helly Exp $ */
+/* $Id: run-tests.php,v 1.226.2.5 2005/12/07 02:01:58 iliaa Exp $ */
 
 /* Sanity check to ensure that pcre extension needed by this script is 
available.
  * In the event it is not, print a nice error message indicating that this 
script will
@@ -223,8 +223,11 @@
 $pass_option_n = false;
 $pass_options = '';
 
-$compression = 0;              
-$output_file = $CUR_DIR . '/php_test_results_' . date('Ymd_Hi') . ( 
$compression ? '.txt.gz' : '.txt' );
+$compression = 0;
+$output_file = $CUR_DIR . '/php_test_results_' . date('Ymd_Hi') . '.txt';
+if ($compression) {
+       $output_file = 'compress.zlib://' . $output_file . '.gz';
+}
 $just_save_results = false;
 $leak_check = false;
 $html_output = false;
@@ -315,7 +318,7 @@
                                        $html_output = is_resource($html_file);
                                        break;
                                case '--version':
-                                       echo "$Id: run-tests.php,v 1.226.2.4 
2005/12/07 00:03:46 helly Exp $\n";
+                                       echo "$Id: run-tests.php,v 1.226.2.5 
2005/12/07 02:01:58 iliaa Exp $\n";
                                        exit(1);
                                default:
                                        echo "Illegal switch specified!\n";
@@ -831,7 +834,6 @@
                $line = fgets($fp);
 
                // Match the beginning of a section.
-               // UTODO changed to use preg, because ereg was crapping out
                if (preg_match('/^--([A-Z]+)--/',$line,$r)) {
                        $section = $r[1];
                        $section_text[$section] = '';
@@ -857,7 +859,7 @@
                        $borked = true;
                }
                if (@count($section_text['FILEEOF']) == 1) {
-                       $section_text['FILE'] = preg_replace('/[\r\n]+$/', '', 
$section_text['FILEEOF']);
+                       $section_text['FILE'] = preg_replace("/[\r\n]+$/", '', 
$section_text['FILEEOF']);
                        unset($section_text['FILEEOF']);
                }
                if ((@count($section_text['EXPECT']) + 
@count($section_text['EXPECTF']) + @count($section_text['EXPECTREGEX'])) != 1) {
@@ -898,13 +900,13 @@
                $tmp = realpath(dirname($file));
        }
 
-       $diff_filename     = $tmp . DIRECTORY_SEPARATOR . 
basename($file).'diff';
-       $log_filename      = $tmp . DIRECTORY_SEPARATOR . basename($file).'log';
-       $exp_filename      = $tmp . DIRECTORY_SEPARATOR . basename($file).'exp';
-       $output_filename   = $tmp . DIRECTORY_SEPARATOR . basename($file).'out';
-       $memcheck_filename = $tmp . DIRECTORY_SEPARATOR . basename($file).'mem';
-       $tmp_file          = $tmp . DIRECTORY_SEPARATOR . basename($file).'php';
-       $tmp_skipif        = $tmp . DIRECTORY_SEPARATOR . 
basename($file).'skip';
+       $diff_filename     = $tmp . DIRECTORY_SEPARATOR . 
basename($file,'phpt').'diff';
+       $log_filename      = $tmp . DIRECTORY_SEPARATOR . 
basename($file,'phpt').'log';
+       $exp_filename      = $tmp . DIRECTORY_SEPARATOR . 
basename($file,'phpt').'exp';
+       $output_filename   = $tmp . DIRECTORY_SEPARATOR . 
basename($file,'phpt').'out';
+       $memcheck_filename = $tmp . DIRECTORY_SEPARATOR . 
basename($file,'phpt').'mem';
+       $tmp_file          = $tmp . DIRECTORY_SEPARATOR . 
basename($file,'phpt').'php';
+       $tmp_skipif        = $tmp . DIRECTORY_SEPARATOR . 
basename($file,'phpt').'skip';
        $tmp_post          = $tmp . DIRECTORY_SEPARATOR . uniqid('/phpt.');
        $tmp_relative_file = str_replace(dirname(__FILE__).DIRECTORY_SEPARATOR, 
'', $tmp_file) . 't';
 
@@ -946,7 +948,7 @@
                                "unset REQUEST_METHOD; unset QUERY_STRING; 
unset PATH_TRANSLATED; unset SCRIPT_FILENAME; unset REQUEST_METHOD;": "";
                        $output = system_with_timeout("$extra $php -q 
$skipif_params $tmp_skipif");
                        @unlink($tmp_skipif);
-                       if (eregi("^skip", trim($output))) {
+                       if (!strncasecmp('skip', trim($output), 4)) {
                                $reason = (eregi("^skip[[:space:]]*(.+)\$", 
trim($output))) ? eregi_replace("^skip[[:space:]]*(.+)\$", "\\1", 
trim($output)) : FALSE;
                                if ($reason) {
                                        show_result("SKIP", $tested, $file, 
"reason: $reason");
@@ -959,13 +961,13 @@
                                @unlink($tmp_skipif);
                                return 'SKIPPED';
                        }
-                       if (eregi("^info", trim($output))) {
+                       if (!strncasecmp('info', trim($output), 4)) {
                                $reason = (ereg("^info[[:space:]]*(.+)\$", 
trim($output))) ? ereg_replace("^info[[:space:]]*(.+)\$", "\\1", trim($output)) 
: FALSE;
                                if ($reason) {
                                        $info = " (info: $reason)";
                                }
                        }
-                       if (eregi("^warn", trim($output))) {
+                       if (!strncasecmp('warn', trim($output), 4)) {
                                $reason = (ereg("^warn[[:space:]]*(.+)\$", 
trim($output))) ? ereg_replace("^warn[[:space:]]*(.+)\$", "\\1", trim($output)) 
: FALSE;
                                if ($reason) {
                                        $warn = true; /* only if there is a 
reason */
@@ -1044,6 +1046,9 @@
        // Any special ini settings
        // these may overwrite the test defaults...
        if (array_key_exists('INI', $section_text)) {
+               if (strpos($section_text['INI'], '{PWD}') !== false) {
+                       $section_text['INI'] = str_replace('{PWD}', 
dirname($file), $section_text['INI']);
+               }
                settings2array(preg_split( "/[\n\r]+/", $section_text['INI']), 
$ini_settings);
        }
        settings2params($ini_settings);
@@ -1132,8 +1137,7 @@
        }
 
        // Does the output match what is expected?
-       $output = trim($out);
-       $output = preg_replace('/\r\n/',"\n",$output);
+       $output = str_replace("\r\n", "\n", trim($out));
 
        /* when using CGI, strip the headers from the output */
        if (isset($old_php) && ($pos = strpos($output, "\n\n")) !== FALSE) {
@@ -1215,36 +1219,28 @@
        if (!$passed) {
                // write .exp
                if (strpos($log_format,'E') !== FALSE) {
-                       $log = fopen($exp_filename,'wt') or error("Cannot 
create test log - $exp_filename");
-                       fwrite($log,$wanted);
-                       fclose($log);
+                       file_put_contents($exp_filename, $wanted) or 
error("Cannot create test log - $exp_filename");
                }
        
                // write .out
                if (strpos($log_format,'O') !== FALSE) {
-                       $log = fopen($output_filename,'wt') or error("Cannot 
create test log - $output_filename");
-                       fwrite($log,$output);
-                       fclose($log);
+                       file_put_contents($output_filename, $output) or 
error("Cannot create test log - $output_filename");
                }
        
                // write .diff
                if (strpos($log_format,'D') !== FALSE) {
-                       $log = fopen($diff_filename,'wt') or error("Cannot 
create test log - $diff_filename");
-                               fwrite($log, 
generate_diff($wanted,$wanted_re,$output));
-                       fclose($log);
+                       file_put_contents($diff_filename, 
generate_diff($wanted,$wanted_re,$output)) or error("Cannot create test log - 
$diff_filename");       
                }
        
                // write .log
                if (strpos($log_format,'L') !== FALSE) {
-                       $log = fopen($log_filename,'wt') or error("Cannot 
create test log - $log_filename");
-                       fwrite($log,"
+                       file_put_contents($log_filename, "
 ---- EXPECTED OUTPUT
 $wanted
 ---- ACTUAL OUTPUT
 $output
 ---- FAILED
-");
-                       fclose($log);
+") or error("Cannot create test log - $log_filename");
                        error_report($file,$log_filename,$tested);
                }
        }

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to