sfox Wed Jun 11 15:42:06 2008 UTC
Modified files:
/php-src run-tests.php
Log:
- kill unicode.semantics checks
http://cvs.php.net/viewvc.cgi/php-src/run-tests.php?r1=1.350&r2=1.351&diff_format=u
Index: php-src/run-tests.php
diff -u php-src/run-tests.php:1.350 php-src/run-tests.php:1.351
--- php-src/run-tests.php:1.350 Wed Jun 11 14:35:08 2008
+++ php-src/run-tests.php Wed Jun 11 15:42:06 2008
@@ -24,7 +24,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: run-tests.php,v 1.350 2008/06/11 14:35:08 sfox Exp $ */
+/* $Id: run-tests.php,v 1.351 2008/06/11 15:42:06 sfox 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
@@ -84,11 +84,6 @@
if (ob_get_level()) echo "Not all buffers were deleted.\n";
error_reporting(E_ALL);
-ini_set('magic_quotes_runtime',0); // this would break tests by modifying
EXPECT sections
-
-if (ini_get("unicode.semantics")) {
- error("It is currently not possible to use run-tests.php with
unicode.semantics=On. Please turn it Off and re-run the tests.");
-}
$environment = isset($_ENV) ? $_ENV : array();
@@ -183,8 +178,11 @@
'error_append_string=',
'auto_prepend_file=',
'auto_append_file=',
- 'magic_quotes_runtime=0',
'ignore_repeated_errors=0',
+ 'unicode.runtime_encoding=ISO-8859-1',
+ 'unicode.script_encoding=UTF-8',
+ 'unicode.output_encoding=UTF-8',
+ 'unicode.from_error_mode=U_INVALID_SUBSTITUTE',
);
function write_information($show_html)
@@ -218,9 +216,6 @@
@unlink($info_file);
- $unicode = 1;
- define('TESTED_UNICODE', 1);
-
// load list of enabled extensions
save_text($info_file, '<?php echo join(",", get_loaded_extensions());
?>');
$exts_to_test = explode(', ',`$php $pass_options $info_params
"$info_file"`);
@@ -276,8 +271,6 @@
$just_save_results = false;
$leak_check = false;
-$unicode_and_native = false;
-$unicode_testing = false;
$html_output = false;
$html_file = null;
$temp_source = null;
@@ -403,11 +396,6 @@
}
$pass_option_n = true;
break;
- case 'N':
- $unicode_and_native = false;
- $unicode_testing = false;
- $ini_overwrites[] =
'unicode.semantics=0';
- break;
case '--no-clean':
$no_clean = true;
break;
@@ -440,17 +428,6 @@
case '--temp-urlbase':
$temp_urlbase = $argv[++$i];
break;
- case 'U':
- $unicode_and_native = true;
- // break;
- case 'u':
- $unicode_testing = true;
- $ini_overwrites[] =
'unicode.semantics=1';
- $ini_overwrites[] =
'unicode.runtime_encoding=iso-8859-1';
- $ini_overwrites[] =
'unicode.script_encoding=utf-8';
- $ini_overwrites[] =
'unicode.output_encoding=utf-8';
- $ini_overwrites[] =
'unicode.from_error_mode=U_INVALID_SUBSTITUTE';
- break;
case 'v':
case '--verbose':
$DETAILED = true;
@@ -468,7 +445,7 @@
$html_output = is_resource($html_file);
break;
case '--version':
- echo '$Revision: 1.350 $'."\n";
+ echo '$Revision: 1.351 $'."\n";
exit(1);
default:
echo "Illegal switch specified!\n";
@@ -499,14 +476,8 @@
-d foo=bar Pass -d option to the php binary (Define INI entry foo
with value 'bar').
- -u Test with unicode.semantics set on.
-
- -U Test in unicode and non unicode mode.
-
-m Test for memory leaks with Valgrind.
- -N Test with unicode.semantics set off.
-
-p <php> Specify PHP executable to run.
-q Quiet, no user interaction (same as environment
NO_INTERACTION).
@@ -800,7 +771,7 @@
if ($sum_results['FAILED']) {
foreach ($PHP_FAILED_TESTS['FAILED'] as $test_info) {
- $failed_tests_data .= $sep .
($test_info['unicode']?'U:':'N:') . $test_info['name'] . $test_info['info'];
+ $failed_tests_data .= $sep . $test_info['name']
. $test_info['info'];
$failed_tests_data .= $sep .
file_get_contents(realpath($test_info['output']));
$failed_tests_data .= $sep .
file_get_contents(realpath($test_info['diff']));
$failed_tests_data .= $sep . "\n\n";
@@ -1025,11 +996,7 @@
function run_all_tests($test_files, $env, $redir_tested = null)
{
- global $test_results, $failed_tests_file, $php, $test_cnt, $test_idx,
$unicode_and_native, $unicode_testing;
-
- if ($unicode_and_native && is_null($redir_tested)) {
- $test_cnt *= 2;
- }
+ global $test_results, $failed_tests_file, $php, $test_cnt, $test_idx;
foreach($test_files as $name) {
@@ -1046,23 +1013,14 @@
$index = $name;
}
- $unicode_semantics = $unicode_and_native ? 0 :
($unicode_testing ? 1 : 0);
- for(; $unicode_semantics < ($unicode_testing ? 2 : 1);
$unicode_semantics++) {
+ $test_idx++;
+ $result = run_test($php, $name, $env);
- $test_idx++;
- $result = run_test($php, $name, $env,
$unicode_semantics);
+ if (!is_array($name) && $result != 'REDIR') {
+ $test_results[$index] = $result;
- if (!is_array($name) && $result != 'REDIR') {
- $pu = $unicode_and_native && $unicode_semantics
? '.u' : '';
- $test_results[$index.$pu] = $result;
-
- if ($failed_tests_file && ($result== 'XFAILED'
|| $result == 'FAILED' || $result == 'WARNED' || $result == 'LEAKED')) {
- fwrite($failed_tests_file, "$index\n");
- }
- }
-
- if ($result == 'REDIR') {
- $unicode_semantics = 2;
+ if ($failed_tests_file && ($result== 'XFAILED' ||
$result == 'FAILED' || $result == 'WARNED' || $result == 'LEAKED')) {
+ fwrite($failed_tests_file, "$index\n");
}
}
}
@@ -1090,13 +1048,12 @@
//
// Run an individual test case.
//
-function run_test($php, $file, $env, $unicode_semantics)
+function run_test($php, $file, $env)
{
global $log_format, $info_params, $ini_overwrites, $cwd,
$PHP_FAILED_TESTS;
global $pass_options, $DETAILED, $IN_REDIRECT, $test_cnt, $test_idx;
global $leak_check, $temp_source, $temp_target, $cfg, $environment;
global $no_clean;
- global $unicode_and_native;
global $valgrind_version;
$temp_filenames = null;
@@ -1213,28 +1170,21 @@
$bork_info = "missing section --EXPECT--,
--EXPECTF-- or --EXPECTREGEX--";
$borked = true;
}
-
- if ((@count($section_text['UEXPECT']) +
@count($section_text['UEXPECTF']) + @count($section_text['UEXPECTREGEX'])) > 1)
{
- $bork_info = "missing section --UEXPECT--,
--UEXPECTF-- or --UEXPECTREGEX--";
- $borked = true;
- }
}
}
-
fclose($fp);
$shortname = str_replace($cwd.'/', '', $file);
$tested_file = $shortname;
if ($borked) {
- show_result("BORK", $bork_info, $tested_file,
$unicode_semantics);
+ show_result("BORK", $bork_info, $tested_file);
$PHP_FAILED_TESTS['BORKED'][] = array (
'name' =>
$file,
'test_name' =>
'',
'output' =>
'',
'diff' =>
'',
'info' =>
"$bork_info [$file]",
- 'unicode' =>
$unicode_semantics,
);
return 'BORKED';
}
@@ -1267,7 +1217,7 @@
}
}
- show_test($test_idx, $shortname, $unicode_semantics);
+ show_test($test_idx, $shortname);
if (is_array($IN_REDIRECT)) {
$temp_dir = $test_dir = $IN_REDIRECT['dir'];
@@ -1279,19 +1229,17 @@
$temp_dir = str_replace($temp_source, $temp_target, $temp_dir);
}
- $pu = $unicode_semantics ? 'u.' : '';
-
- $diff_filename = $temp_dir . DIRECTORY_SEPARATOR .
basename($file,'phpt').$pu.'diff';
- $log_filename = $temp_dir . DIRECTORY_SEPARATOR .
basename($file,'phpt').$pu.'log';
- $exp_filename = $temp_dir . DIRECTORY_SEPARATOR .
basename($file,'phpt').$pu.'exp';
- $output_filename = $temp_dir . DIRECTORY_SEPARATOR .
basename($file,'phpt').$pu.'out';
- $memcheck_filename = $temp_dir . DIRECTORY_SEPARATOR .
basename($file,'phpt').$pu.'mem';
- $temp_file = $temp_dir . DIRECTORY_SEPARATOR .
basename($file,'phpt')/*.$pu*/.'php';
- $test_file = $test_dir . DIRECTORY_SEPARATOR .
basename($file,'phpt')/*.$pu*/.'php';
- $temp_skipif = $temp_dir . DIRECTORY_SEPARATOR .
basename($file,'phpt').$pu.'skip.php';
- $test_skipif = $test_dir . DIRECTORY_SEPARATOR .
basename($file,'phpt').$pu.'skip.php';
- $temp_clean = $temp_dir . DIRECTORY_SEPARATOR .
basename($file,'phpt').$pu.'clean.php';
- $test_clean = $test_dir . DIRECTORY_SEPARATOR .
basename($file,'phpt').$pu.'clean.php';
+ $diff_filename = $temp_dir . DIRECTORY_SEPARATOR . basename($file,
'phpt') . 'diff';
+ $log_filename = $temp_dir . DIRECTORY_SEPARATOR . basename($file,
'phpt') . 'log';
+ $exp_filename = $temp_dir . DIRECTORY_SEPARATOR . basename($file,
'phpt') . 'exp';
+ $output_filename = $temp_dir . DIRECTORY_SEPARATOR . basename($file,
'phpt') . 'out';
+ $memcheck_filename = $temp_dir . DIRECTORY_SEPARATOR . basename($file,
'phpt') . 'mem';
+ $temp_file = $temp_dir . DIRECTORY_SEPARATOR . basename($file,
'phpt') . 'php';
+ $test_file = $test_dir . DIRECTORY_SEPARATOR . basename($file,
'phpt') . 'php';
+ $temp_skipif = $temp_dir . DIRECTORY_SEPARATOR . basename($file,
'phpt') . 'skip.php';
+ $test_skipif = $test_dir . DIRECTORY_SEPARATOR . basename($file,
'phpt') . 'skip.php';
+ $temp_clean = $temp_dir . DIRECTORY_SEPARATOR . basename($file,
'phpt') . 'clean.php';
+ $test_clean = $test_dir . DIRECTORY_SEPARATOR . basename($file,
'phpt') . 'clean.php';
$tmp_post = $temp_dir . DIRECTORY_SEPARATOR . uniqid('/phpt.');
$tmp_relative_file = str_replace(__DIR__ . DIRECTORY_SEPARATOR, '',
$test_file) . 't';
@@ -1366,10 +1314,6 @@
// additional ini overwrites
//$ini_overwrites[] = 'setting=value';
settings2array($ini_overwrites, $ini_settings);
- // is this unicode/native per run-tests.php switch?
- if ($unicode_and_native) {
- $ini_settings["unicode.semantics"] = $unicode_semantics ? '1' :
'0';
- }
// Any special ini settings
// these may overwrite the test defaults...
if (array_key_exists('INI', $section_text)) {
@@ -1377,13 +1321,6 @@
$section_text['INI'] = str_replace('{PWD}',
dirname($file), $section_text['INI']);
}
settings2array(preg_split( "/[\n\r]+/", $section_text['INI']),
$ini_settings);
- if (isset($ini_settings["unicode.semantics"])) {
- $unicode_test =
strcasecmp($ini_settings["unicode.semantics"],"on") == 0 ||
$ini_settings["unicode.semantics"] == 1;
- } else {
- $unicode_test = TESTED_UNICODE;
- }
- } else {
- $unicode_test = $unicode_and_native ? $unicode_semantics :
TESTED_UNICODE;
}
settings2params($ini_settings);
@@ -1400,8 +1337,6 @@
$extra = substr(PHP_OS, 0, 3) !== "WIN" ?
"unset REQUEST_METHOD; unset QUERY_STRING;
unset PATH_TRANSLATED; unset SCRIPT_FILENAME; unset REQUEST_METHOD;": "";
- $ini_settings .= " -dunicode.semantics=" .
(int)$unicode_test;
-
if ($leak_check) {
$env['USE_ZEND_ALLOC'] = '0';
} else {
@@ -1417,9 +1352,9 @@
if (!strncasecmp('skip', ltrim($output), 4)) {
if (preg_match('/^\s*skip\s*(.+)\s*/i',
$output, $m)) {
- show_result("SKIP", $tested,
$tested_file, $unicode_semantics, "reason: $m[1]", $temp_filenames);
+ show_result("SKIP", $tested,
$tested_file, "reason: $m[1]", $temp_filenames);
} else {
- show_result("SKIP", $tested,
$tested_file, $unicode_semantics, '', $temp_filenames);
+ show_result("SKIP", $tested,
$tested_file, '', $temp_filenames);
}
if (isset($old_php)) {
@@ -1469,7 +1404,7 @@
}
}
- $test_cnt += (count($test_files) - 1) *
($unicode_and_native ? 2 : 1);
+ $test_cnt += (count($test_files) - 1);
$test_idx--;
show_redirect_start($IN_REDIRECT['TESTS'], $tested,
$tested_file);
@@ -1488,14 +1423,13 @@
} else {
$bork_info = "Redirect info must contain exactly one
TEST string to be used as redirect directory.";
- show_result("BORK", $bork_info, '', $unicode_semantics,
$temp_filenames);
+ show_result("BORK", $bork_info, '', $temp_filenames);
$PHP_FAILED_TESTS['BORKED'][] = array (
'name'
=> $file,
'test_name' => '',
'output' => '',
'diff'
=> '',
'info'
=> "$bork_info [$file]",
-
'unicode'=> $unicode_semantics,
);
}
}
@@ -1507,40 +1441,17 @@
}
$bork_info = "Redirected test did not contain redirection info";
- show_result("BORK", $bork_info, '', $unicode_semantics,
$temp_filenames);
+ show_result("BORK", $bork_info, '', $temp_filenames);
$PHP_FAILED_TESTS['BORKED'][] = array (
'name' => $file,
'test_name' =>
'',
'output' => '',
'diff' => '',
'info' =>
"$bork_info [$file]",
- 'unicode'=>
$unicode_semantics,
);
return 'BORKED';
}
- if ($unicode_test) {
- if (isset($section_text['UEXPECT'])) {
- unset($section_text['EXPECT']);
- unset($section_text['EXPECTF']);
- unset($section_text['EXPECTREGEX']);
- $section_text['EXPECT'] = $section_text['UEXPECT'];
- unset($section_text['UEXPECT']);
- } else if (isset($section_text['UEXPECTF'])) {
- unset($section_text['EXPECT']);
- unset($section_text['EXPECTF']);
- unset($section_text['EXPECTREGEX']);
- $section_text['EXPECTF'] = $section_text['UEXPECTF'];
- unset($section_text['UEXPECTF']);
- } else if (isset($section_text['UEXPECTREGEX'])) {
- unset($section_text['EXPECT']);
- unset($section_text['EXPECTF']);
- unset($section_text['EXPECTREGEX']);
- $section_text['EXPECTREGEX'] =
$section_text['UEXPECTREGEX'];
- unset($section_text['UEXPECTREGEX']);
- }
- }
-
// We've satisfied the preconditions - run the test!
show_file_block('php', $section_text['FILE'], 'TEST');
save_text($test_file, $section_text['FILE'], $temp_file);
@@ -1791,7 +1702,7 @@
}
if (!$leaked && !$failed_headers) {
- show_result("PASS", $tested, $tested_file,
$unicode_semantics, '', $temp_filenames);
+ show_result("PASS", $tested, $tested_file, '',
$temp_filenames);
return 'PASSED';
}
}
@@ -1800,12 +1711,13 @@
$wanted = trim($section_text['EXPECT']);
- if ($unicode_semantics && is_unicode($wanted)) {
+ if (is_unicode($wanted)) {
/* workaround until preg_replace() or str_replace() are
upgraded */
$wanted = unicode_encode($wanted,
ini_get('unicode.output_encoding') ?: 'utf-8');
}
- $wanted = preg_replace('/\r\n/',"\n",$wanted);
+ $wanted = preg_replace('/\r\n/', "\n", $wanted);
+
show_file_block('exp', $wanted);
// compare and leave on success
@@ -1821,7 +1733,7 @@
}
if (!$leaked && !$failed_headers) {
- show_result("PASS", $tested, $tested_file,
$unicode_semantics, '', $temp_filenames);
+ show_result("PASS", $tested, $tested_file, '',
$temp_filenames);
return 'PASSED';
}
}
@@ -1889,7 +1801,7 @@
}
}
- show_result(implode('&', $restype), $tested, $tested_file,
$unicode_semantics, $info, $temp_filenames);
+ show_result(implode('&', $restype), $tested, $tested_file, $info,
$temp_filenames);
foreach ($restype as $type) {
$PHP_FAILED_TESTS[$type.'ED'][] = array (
@@ -1898,7 +1810,6 @@
'output' => $output_filename,
'diff' => $diff_filename,
'info' => $info,
- 'unicode' =>
$unicode_semantics,
);
}
@@ -2174,7 +2085,7 @@
---------------------------------------------------------------------
";
foreach ($PHP_FAILED_TESTS['BORKED'] as $test_data) {
- $failed_test_summary .=
($test_data['unicode']?'U:':'N:') . $test_data['info'] . "\n";
+ $failed_test_summary .= $test_data['info'] . "\n";
}
$failed_test_summary .=
"=====================================================================\n";
@@ -2187,7 +2098,7 @@
---------------------------------------------------------------------
";
foreach ($PHP_FAILED_TESTS['FAILED'] as $test_data) {
- $failed_test_summary .=
($test_data['unicode']?'U:':'N:') . $test_data['test_name'] .
$test_data['info'] . "\n";
+ $failed_test_summary .= $test_data['test_name'] .
$test_data['info'] . "\n";
}
$failed_test_summary .=
"=====================================================================\n";
@@ -2200,7 +2111,7 @@
---------------------------------------------------------------------
";
foreach ($PHP_FAILED_TESTS['XFAILED'] as $test_data) {
- $failed_test_summary .=
($test_data['unicode']?'U:':'N:') . $test_data['test_name'] .
$test_data['info'] . "\n";
+ $failed_test_summary .= $test_data['test_name'] .
$test_data['info'] . "\n";
}
$failed_test_summary .=
"=====================================================================\n";
@@ -2213,7 +2124,7 @@
---------------------------------------------------------------------
";
foreach ($PHP_FAILED_TESTS['LEAKED'] as $test_data) {
- $failed_test_summary .=
($test_data['unicode']?'U:':'N:') . $test_data['test_name'] .
$test_data['info'] . "\n";
+ $failed_test_summary .= $test_data['test_name'] .
$test_data['info'] . "\n";
}
$failed_test_summary .=
"=====================================================================\n";
@@ -2287,22 +2198,19 @@
echo "---> $tests ($tested [$tested_file]) done\n";
}
-function show_test($test_idx, $shortname, $unicode_semantics)
+function show_test($test_idx, $shortname)
{
global $test_cnt;
- $kind = $unicode_semantics ? ':U' : ':N';
- echo "TEST$kind $test_idx/$test_cnt [$shortname]\r";
+ echo "TEST $test_idx/$test_cnt [$shortname]\r";
flush();
}
-function show_result($result, $tested, $tested_file, $unicode_semantics,
$extra = '', $temp_filenames = null)
+function show_result($result, $tested, $tested_file, $extra = '',
$temp_filenames = null)
{
- global $html_output, $html_file, $temp_target, $temp_urlbase,
$unicode_and_native;
-
- $kind = $unicode_semantics ? ':U' : ':N';
+ global $html_output, $html_file, $temp_target, $temp_urlbase;
- echo "$result$kind $tested [$tested_file] $extra\n";
+ echo "$result $tested [$tested_file] $extra\n";
if ($html_output) {
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php