Re: Re: cvs: php4 / run-tests.php

From: Date: Mon, 28 Oct 2002 17:24:31 +0000
Subject: Re: Re: cvs: php4 / run-tests.php
References: 1 2 3 4  Groups: php.dev 
Request: Send a blank email to php-dev+get-90214@lists.php.net to get a copy of this message
First of all only some tests in ext/xslt were designed to present a warning. I suggest this can be fixed by adding a --INI-- section disabling the error messages. Second i did another commit to direct logs to stderr so the errors are shown in the output. So i do not see any problem here. Third i guess we have two options: a) Set error_log and such Off, track_errors=On and 'magically' prepend echo $php_errormsg at each --FILE-- section. But as you can see above there are tests that expect such messages so this would be a bit complicated. b) Leave it as it is now (of cause my favorite). Since now every warning/error and not wanted message results in a test failure! According to iconv tests i do not know by now if disabling the notices in the tests was a good idea. regards marcus At 07:58 28.10.2002, Derick Rethans wrote:
On Mon, 28 Oct 2002, Jani Taskinen wrote: +1 for removing both bogus settings. (html_errors & log_errors) Another one here then: +1 for reverting the changes. Derick On Sun, 27 Oct 2002, Ilia A. wrote:
I am curios as to your reasoning behind turning on html_errors by
default, why
would the tests need HTML data? Logging of errors occurred during the tests seems pointless to me. As
I've
mentioned before if a test needs to check if a certain type of error is generated the track_errors & $php_errormsg facility can be used to
capture
this error reliably. Logging of errors is unreliable since the actual
error
message can go anywhere, stderr,syslog, user specified file, etc... It is highly likely that you may not even see the error message because it
is not
sent to stderr. Data sent to the error log is also 'variable', because it contains fluid data which different from system to system due to file
paths,
so we must do all kinds of hackery if we are to use it when confirming
the
output of a test. I for one, would like to see that setting go away. Ilia P.S. The recent change to ini settings broken 9 tests, which worked
fine prior
to your change. EUC-JP to ISO-2022-JP [ext/iconv/tests/eucjp2iso2022jp.phpt] EUC-JP to SJIS [ext/iconv/tests/eucjp2sjis.phpt] EUC-JP to UTF8 [ext/iconv/tests/eucjp2utf8.phpt] iconv test [ext/iconv/tests/iconv001.phpt] UCS4BE to ASCII [ext/iconv/tests/iconv002.phpt] ob_output_handler [ext/iconv/tests/ob_iconv_handler.phpt] HTML input/output [ext/mbstring/tests/htmlent.phpt] rewriter handles <form> and <fieldset> correctly
[ext/session/tests/021.phpt]
Memoryleak in error printing [ext/xslt/tests/xslt-001.phpt] On October 27, 2002 07:14 pm, Marcus Börger wrote:
First the tests take the nomal ini settings from any file found by
php...
Second there are some settings overwritten by run-test.php.. Third you can overwrite first and second by specifying an INI section in the .phpt files. Now to the setting "log_errors" i want this thing on because ANY MESSAGE is either wanted or a REAL ERROR. The only test being an exception to this rule is ext/session/tests/008-php4.2.3.phpt. This test requires log_error to be set 0. BEFORE REMOVING log_errors=1 again i want this beeing discussed! marcus At 01:07 28.10.2002, Marcus Börger wrote:
helly           Sun Oct 27 19:07:11 2002 EDT
Modified files:
    /php4       run-tests.php
Log: allow default ini overwrites to be overwritten themselves in --INI-- #see followup on dev list Index: php4/run-tests.php diff -u php4/run-tests.php:1.91 php4/run-tests.php:1.92
--- php4/run-tests.php:1.91     Sat Oct 26 12:54:30 2002
+++ php4/run-tests.php Sun Oct 27 19:07:11 2002 @@ -480,28 +480,50 @@
        // Default ini settings
        $settings = array (
-               "-d 'open_basedir='",
-               "-d 'disable_functions='",
-               "-d 'error_reporting=2047'",
-               "-d 'display_errors=0'",
-               "-d 'log_errors=0'",
-               "-d 'html_errors=0'",
-               "-d 'docref_root=/phpmanual/'",
-               "-d 'docref_ext=.html'",
-               "-d 'error_prepend_string='",
-               "-d 'error_append_string='",
-               "-d 'auto_append_file='",
-               "-d 'auto_prepend_file='",
+               "open_basedir=",
+               "disable_functions=",
+               "error_reporting=2047",
+               "display_errors=0",
+               "log_errors=1",
+               "html_errors=1",
+               "track_errors=1",
+               "docref_root=/phpmanual/",
+               "docref_ext=.html",
+               "error_prepend_string=",
+               "error_append_string=",
+               "auto_append_file=",
+               "auto_prepend_file=",
        );
-       $ini_settings = ' '. join (' ', $settings);
+       $ini_settings = array();
+       foreach($settings as $setting) {
+               if (strpos($setting, '=')!==false) {
+                       $setting = explode("=", $setting);
+                       $name = trim(strtolower($setting[0]));
+                       $value = trim($setting[1]);
+                       $ini_settings[$name] = $value;
+               }
+       }
-       // Any special ini settings
+       // Any special ini settings
+       // these may overwrite the test defaults...
        if (array_key_exists('INI', $section_text)) {
                foreach(preg_split( "/[\n\r]+/", 
$section_text['INI']) as
$setting) {
-                       if (strlen($setting)) {
-                               $ini_settings .= " -d '$setting'";
+                       if (strpos($setting, '=')!==false) {
+                               $setting = explode("=", $setting);
+                               $name = trim(strtolower($setting[0]));
+                               $value = trim($setting[1]);
+                               $ini_settings[$name] = $value;
                        }
                }
+       }
+       if (count($ini_settings)) {
+               $settings = '';
+               foreach($ini_settings as $name => $value) {
+                       $settings .= " -d '$name=$value'";
+               }
+               $ini_settings = $settings;
+       } else {
+               $ini_settings = '';
        }
        // We've satisfied the preconditions - run the test!
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
-- <- For Sale! -> -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php -- ---------------------------------------------------------------------------
 Derick Rethans                                   http://derickrethans.nl/
JDI Media Solutions --------------[ if you hold a unix shell to your ear, do you hear the c? ]-


« previous php.dev (#90214) next »