zoe Tue Mar 3 10:53:44 2009 UTC Modified files: (Branch: PHP_5_3) /php-src run-tests.php Log: Added %r section http://cvs.php.net/viewvc.cgi/php-src/run-tests.php?r1=1.226.2.37.2.35.2.61&r2=1.226.2.37.2.35.2.62&diff_format=u Index: php-src/run-tests.php diff -u php-src/run-tests.php:1.226.2.37.2.35.2.61 php-src/run-tests.php:1.226.2.37.2.35.2.62 --- php-src/run-tests.php:1.226.2.37.2.35.2.61 Mon Jan 5 11:14:43 2009 +++ php-src/run-tests.php Tue Mar 3 10:53:44 2009 @@ -24,7 +24,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: run-tests.php,v 1.226.2.37.2.35.2.61 2009/01/05 11:14:43 tony2001 Exp $ */ +/* $Id: run-tests.php,v 1.226.2.37.2.35.2.62 2009/03/03 10:53:44 zoe 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 @@ -617,7 +617,7 @@ $html_output = is_resource($html_file); break; case '--version': - echo '$Revision: 1.226.2.37.2.35.2.61 $' . "\n"; + echo '$Revision: 1.226.2.37.2.35.2.62 $' . "\n"; exit(1); default: @@ -1737,7 +1737,33 @@ $wanted_re = preg_replace('/\r\n/', "\n", $wanted); if (isset($section_text['EXPECTF'])) { - $wanted_re = preg_quote($wanted_re, '/'); + + // do preg_quote, but miss out any %r delimited sections + $temp = ""; + $r = "%r"; + $startOffset = 0; + $length = strlen($wanted_re); + while($startOffset < $length) { + $start = strpos($wanted_re, $r, $startOffset); + if ($start !== false) { + // we have found a start tag + $end = strpos($wanted_re, $r, $start+2); + if ($end === false) { + // unbalanced tag, ignore it. + $end = $start = $length; + } + } else { + // no more %r sections + $start = $end = $length; + } + // quote a non re portion of the string + $temp = $temp . preg_quote(substr($wanted_re, $startOffset, ($start - $startOffset)), '/'); + // add the re unquoted. + $temp = $temp . substr($wanted_re, $start+2, ($end - $start-2)); + $startOffset = $end + 2; + } + $wanted_re = $temp; + $wanted_re = str_replace( array('%binary_string_optional%'), version_compare(PHP_VERSION, '6.0.0-dev') == -1 ? 'string' : 'binary string',
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php