[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/run-tests.php branches/PHP_5_4/run-tests.php trunk/run-tests.php
felipe Sat, 26 Nov 2011 20:18:03 + Revision: http://svn.php.net/viewvc?view=revision&revision=319967 Log: - Added JUnit output format option patch by: Ferenc Kovacs (tyrael at php.net) Changed paths: U php/php-src/branches/PHP_5_3/run-tests.php U php/php-src/branches/PHP_5_4/run-tests.php U php/php-src/trunk/run-tests.php Modified: php/php-src/branches/PHP_5_3/run-tests.php === --- php/php-src/branches/PHP_5_3/run-tests.php 2011-11-26 19:04:51 UTC (rev 319966) +++ php/php-src/branches/PHP_5_3/run-tests.php 2011-11-26 20:18:03 UTC (rev 319967) @@ -200,6 +200,26 @@ $DETAILED = 0; } +// Check whether a junit log is wanted. +$JUNIT = getenv('TEST_PHP_JUNIT'); +if (empty($JUNIT) || (!file_exists($JUNIT) && !is_writable(dirname($JUNIT))) || (file_exists($JUNIT) && !is_writable($JUNIT)) || !($JUNIT = @fopen($JUNIT, 'w'))) { + $JUNIT = FALSE; +} +else{ + $JUNIT = array( + 'fp'=> $JUNIT, + 'test_total'=> 0, + 'test_pass' => 0, + 'test_fail' => 0, + 'test_error'=> 0, + 'test_skip' => 0, + 'started_at'=> microtime(true), + 'finished_at' => NULL, + 'execution_time'=> NULL, + 'result_xml'=> '', + ); +} + if (getenv('SHOW_ONLY_GROUPS')) { $SHOW_ONLY_GROUPS = explode(",", getenv('SHOW_ONLY_GROUPS')); } else { @@ -811,6 +831,10 @@ if ($output_file != '' && $just_save_results) { save_or_mail_results(); } + + if ($JUNIT) { + save_junit_xml(); + } if (getenv('REPORT_EXIT_STATUS') == 1 and preg_match('/FAILED(?: |$)/', implode(' ', $test_results))) { exit(1); @@ -946,6 +970,10 @@ save_or_mail_results(); +if ($JUNIT) { + save_junit_xml(); +} + if (getenv('REPORT_EXIT_STATUS') == 1 and $sum_results['FAILED']) { exit(1); } @@ -1165,6 +1193,7 @@ global $leak_check, $temp_source, $temp_target, $cfg, $environment; global $no_clean; global $valgrind_version; + global $JUNIT; $temp_filenames = null; $org_file = $file; @@ -1300,6 +1329,14 @@ 'diff' => '', 'info' => "$bork_info [$file]", ); + + if ($JUNIT) { + $JUNIT['test_total']++; + $JUNIT['test_error']++; + $JUNIT['result_xml'] .= ''."\n"; + $JUNIT['result_xml'] .= ''."\n"; + $JUNIT['result_xml'] .= ''."\n"; + } return 'BORKED'; } @@ -1322,6 +1359,13 @@ $php = realpath("./sapi/cgi/php-cgi") . ' -C '; } else { show_result('SKIP', $tested, $tested_file, "reason: CGI not available"); +if ($JUNIT) { + $JUNIT['test_total']++; + $JUNIT['test_skip']++; + $JUNIT['result_xml'] .= ''."\n"; + $JUNIT['result_xml'] .= 'CGI not available'."\n"; + $JUNIT['result_xml'] .= ''."\n"; +} return 'SKIPPED'; } } @@ -1459,7 +1503,14 @@ $env['USE_ZEND_ALLOC'] = '1'; } + if ($JUNIT) { +$test_started_at = microtime(true); + } $output = system_with_timeout("$extra $php $pass_options -q $ini_settings -d display_errors=0 $test_skipif", $env); + if ($JUNIT) { +$test_finished_at = microtime(true); +$test_execution_time= number_format($test_finished_at-$test_started_at, 2); + } if (!$cfg['keep']['skip']) { @unlink($test_skipif); @@ -1481,6 +1532,13 @@ @unlink($test_skipif); } +if ($JUNIT) { + $JUNIT['test_total']++; + $JUNIT['test_skip']++; + $JUNIT['result_xml'] .= ''."\n"; + $JUNIT['result_xml'] .= ''."\n"; + $JUNIT['result_xml'] .= ''."\n"; +} return 'SKIPPED'; } @@ -1535,6 +1593,12 @@ // a redirected test never fails $IN_REDIRECT = false; + if ($JUNIT) { +$JUNIT['test_total']++; +$JUNIT['test_pass']++; +$JUNIT['result_xml'] .= ''."\n"; +$JUNIT['result_xml'] .= ''."\n"; + } return 'REDIR'; } else { @@ -1566,6 +1630,13 @@ 'diff' => '', 'info' => "$bork_info [$file]", ); + if ($JUNIT) { + $JUNIT['test_total']++; + $JUNIT['test_error']++; + $JUNIT['result_xml'] .= ''."\n"; + $JUNIT['result_xml'] .= ''."\n"; + $JUNIT['result_xml'] .= ''."\n"; + } return 'BORKED'; } @@ -1619,6 +1690,13 @@ $env['REQUEST_METHOD'] = 'POST'; if (empty($request)) { + if ($JUNIT) { +$JUNIT['test_total']++; +$JUNIT['test_error']++; +$JUNIT['result_xml'] .= ''."\n"; +$JUNIT['result_xml'] .= ''."\n"; +$JUNIT['result_xml'] .= ''."\n"; + } return 'BORKED'; } @@ -1681,7 +1759,14 @@ COMMAND $cmd "; + if ($JUNIT) { + $test_started_at= microtime(true); + } $out = system_with_timeout($cmd, $env, isset($section_text['STDIN']) ? $section_text['STDIN'] : null); + if ($JUNIT) { + $test_finished_at = microtime(true); + $test_execution_time= number_format($test_finished_at-$test_started_at, 2); + } if (array_key_exists('CLEAN', $section_text) && (!$no_clean || $cfg['keep']['clean'])) { @@ -1870,6 +1955,12 @@ $info = " (warn: XFAIL section but test passes)"; }else { show_result("PASS", $
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/tests/strings/offsets_chaining_1.phpt branches/PHP_5_3/tests/strings/offsets_chaining_2.phpt branches/PHP_5_3/tests/strings/offsets_chaining_3.phpt branch
tyrael Sat, 26 Nov 2011 18:41:45 + Revision: http://svn.php.net/viewvc?view=revision&revision=319965 Log: adding some tests for string offsets Changed paths: A php/php-src/branches/PHP_5_3/tests/strings/offsets_chaining_1.phpt A php/php-src/branches/PHP_5_3/tests/strings/offsets_chaining_2.phpt A php/php-src/branches/PHP_5_3/tests/strings/offsets_chaining_3.phpt A php/php-src/branches/PHP_5_3/tests/strings/offsets_chaining_4.phpt A php/php-src/branches/PHP_5_3/tests/strings/offsets_chaining_5.phpt A php/php-src/branches/PHP_5_3/tests/strings/offsets_general.phpt A php/php-src/branches/PHP_5_4/tests/strings/offsets_chaining_1.phpt A php/php-src/branches/PHP_5_4/tests/strings/offsets_chaining_2.phpt A php/php-src/branches/PHP_5_4/tests/strings/offsets_chaining_3.phpt A php/php-src/branches/PHP_5_4/tests/strings/offsets_chaining_4.phpt A php/php-src/branches/PHP_5_4/tests/strings/offsets_chaining_5.phpt A php/php-src/branches/PHP_5_4/tests/strings/offsets_general.phpt A php/php-src/trunk/tests/strings/offsets_chaining_1.phpt A php/php-src/trunk/tests/strings/offsets_chaining_2.phpt A php/php-src/trunk/tests/strings/offsets_chaining_3.phpt A php/php-src/trunk/tests/strings/offsets_chaining_4.phpt A php/php-src/trunk/tests/strings/offsets_chaining_5.phpt A php/php-src/trunk/tests/strings/offsets_general.phpt Added: php/php-src/branches/PHP_5_3/tests/strings/offsets_chaining_1.phpt === --- php/php-src/branches/PHP_5_3/tests/strings/offsets_chaining_1.phpt (rev 0) +++ php/php-src/branches/PHP_5_3/tests/strings/offsets_chaining_1.phpt 2011-11-26 18:41:45 UTC (rev 319965) @@ -0,0 +1,11 @@ +--TEST-- +testing the behavior of string offset chaining +--INI-- +error_reporting=E_ALL | E_DEPRECATED +--FILE-- + +--EXPECTF-- +Fatal error: Cannot use string offset as an array in %s on line %d Added: php/php-src/branches/PHP_5_3/tests/strings/offsets_chaining_2.phpt === --- php/php-src/branches/PHP_5_3/tests/strings/offsets_chaining_2.phpt (rev 0) +++ php/php-src/branches/PHP_5_3/tests/strings/offsets_chaining_2.phpt 2011-11-26 18:41:45 UTC (rev 319965) @@ -0,0 +1,11 @@ +--TEST-- +testing the behavior of string offset chaining +--INI-- +error_reporting=E_ALL | E_DEPRECATED +--FILE-- + +--EXPECTF-- +Fatal error: Cannot use string offset as an array in %s on line %d Added: php/php-src/branches/PHP_5_3/tests/strings/offsets_chaining_3.phpt === --- php/php-src/branches/PHP_5_3/tests/strings/offsets_chaining_3.phpt (rev 0) +++ php/php-src/branches/PHP_5_3/tests/strings/offsets_chaining_3.phpt 2011-11-26 18:41:45 UTC (rev 319965) @@ -0,0 +1,11 @@ +--TEST-- +testing the behavior of string offset chaining +--INI-- +error_reporting=E_ALL | E_DEPRECATED +--FILE-- + +--EXPECTF-- +Fatal error: Cannot use string offset as an array in %s on line %d Added: php/php-src/branches/PHP_5_3/tests/strings/offsets_chaining_4.phpt === --- php/php-src/branches/PHP_5_3/tests/strings/offsets_chaining_4.phpt (rev 0) +++ php/php-src/branches/PHP_5_3/tests/strings/offsets_chaining_4.phpt 2011-11-26 18:41:45 UTC (rev 319965) @@ -0,0 +1,11 @@ +--TEST-- +testing the behavior of string offset chaining +--INI-- +error_reporting=E_ALL | E_DEPRECATED +--FILE-- + +--EXPECTF-- +Fatal error: Cannot use string offset as an array in %s on line %d Added: php/php-src/branches/PHP_5_3/tests/strings/offsets_chaining_5.phpt === --- php/php-src/branches/PHP_5_3/tests/strings/offsets_chaining_5.phpt (rev 0) +++ php/php-src/branches/PHP_5_3/tests/strings/offsets_chaining_5.phpt 2011-11-26 18:41:45 UTC (rev 319965) @@ -0,0 +1,23 @@ +--TEST-- +testing the behavior of string offset chaining +--INI-- +error_reporting=E_ALL | E_DEPRECATED +--FILE-- + "foobar"); +var_dump(isset($array['expected_array'])); +var_dump($array['expected_array']); +var_dump(isset($array['expected_array']['foo'])); +var_dump($array['expected_array']['foo']); +var_dump(isset($array['expected_array']['foo']['bar'])); +var_dump($array['expected_array']['foo']['bar']); +?> +--EXPECTF-- +bool(true) +string(6) "foobar" +bool(true) +string(1) "f" +bool(false) + +Fatal error: Cannot use string offset as an array in %s on line %d + Added: php/php-src/branches/PHP_5_3/tests/strings/offsets_general.phpt === --- php/php-src/branches/PHP_5_3/tests/strings/offsets_general.phpt (rev 0) +++ php/php-src/branches/PHP_5_3/tests/strings/offsets_general.p
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/run-tests.php branches/PHP_5_4/run-tests.php trunk/run-tests.php
felipe Sat, 26 Nov 2011 17:56:43 + Revision: http://svn.php.net/viewvc?view=revision&revision=319964 Log: - Fixed bug #55788 (test redirects should abide SHOW_ONLY_GROUPS in run-tests.php) patch by: tyrael at php.net Bug: https://bugs.php.net/55788 (Open) test redirects should abide SHOW_ONLY_GROUPS in run-tests.php Changed paths: U php/php-src/branches/PHP_5_3/run-tests.php U php/php-src/branches/PHP_5_4/run-tests.php U php/php-src/trunk/run-tests.php Modified: php/php-src/branches/PHP_5_3/run-tests.php === --- php/php-src/branches/PHP_5_3/run-tests.php 2011-11-26 17:48:52 UTC (rev 319963) +++ php/php-src/branches/PHP_5_3/run-tests.php 2011-11-26 17:56:43 UTC (rev 319964) @@ -678,7 +678,7 @@ with value 'bar'). -g Comma seperated list of groups to show during test run -(e.x. FAIL,SKIP). +(possible values: PASS, FAIL, XFAIL, SKIP, BORK, WARN, LEAK, REDIRECT). -m Test for memory leaks with Valgrind. @@ -2384,24 +2384,34 @@ function show_redirect_start($tests, $tested, $tested_file) { - global $html_output, $html_file; + global $html_output, $html_file, $line_length, $SHOW_ONLY_GROUPS; if ($html_output) { fwrite($html_file, "---> $tests ($tested [$tested_file]) begin\n"); } - echo "---> $tests ($tested [$tested_file]) begin\n"; + if (!$SHOW_ONLY_GROUPS || in_array('REDIRECT', $SHOW_ONLY_GROUPS)) { + echo "REDIRECT $tests ($tested [$tested_file]) begin\n"; + } else { + // Write over the last line to avoid random trailing chars on next echo + echo str_repeat(" ", $line_length), "\r"; + } } function show_redirect_ends($tests, $tested, $tested_file) { - global $html_output, $html_file; + global $html_output, $html_file, $line_length, $SHOW_ONLY_GROUPS; if ($html_output) { fwrite($html_file, "---> $tests ($tested [$tested_file]) done\n"); } - echo "---> $tests ($tested [$tested_file]) done\n"; + if (!$SHOW_ONLY_GROUPS || in_array('REDIRECT', $SHOW_ONLY_GROUPS)) { + echo "REDIRECT $tests ($tested [$tested_file]) done\n"; + } else { + // Write over the last line to avoid random trailing chars on next echo + echo str_repeat(" ", $line_length), "\r"; + } } function show_test($test_idx, $shortname) Modified: php/php-src/branches/PHP_5_4/run-tests.php === --- php/php-src/branches/PHP_5_4/run-tests.php 2011-11-26 17:48:52 UTC (rev 319963) +++ php/php-src/branches/PHP_5_4/run-tests.php 2011-11-26 17:56:43 UTC (rev 319964) @@ -678,7 +678,7 @@ with value 'bar'). -g Comma seperated list of groups to show during test run -(e.x. FAIL,SKIP). +(possible values: PASS, FAIL, XFAIL, SKIP, BORK, WARN, LEAK, REDIRECT). -m Test for memory leaks with Valgrind. @@ -2384,24 +2384,34 @@ function show_redirect_start($tests, $tested, $tested_file) { - global $html_output, $html_file; + global $html_output, $html_file, $line_length, $SHOW_ONLY_GROUPS; if ($html_output) { fwrite($html_file, "---> $tests ($tested [$tested_file]) begin\n"); } - echo "---> $tests ($tested [$tested_file]) begin\n"; + if (!$SHOW_ONLY_GROUPS || in_array('REDIRECT', $SHOW_ONLY_GROUPS)) { + echo "REDIRECT $tests ($tested [$tested_file]) begin\n"; + } else { + // Write over the last line to avoid random trailing chars on next echo + echo str_repeat(" ", $line_length), "\r"; + } } function show_redirect_ends($tests, $tested, $tested_file) { - global $html_output, $html_file; + global $html_output, $html_file, $line_length, $SHOW_ONLY_GROUPS; if ($html_output) { fwrite($html_file, "---> $tests ($tested [$tested_file]) done\n"); } - echo "---> $tests ($tested [$tested_file]) done\n"; + if (!$SHOW_ONLY_GROUPS || in_array('REDIRECT', $SHOW_ONLY_GROUPS)) { + echo "REDIRECT $tests ($tested [$tested_file]) done\n"; + } else { + // Write over the last line to avoid random trailing chars on next echo + echo str_repeat(" ", $line_length), "\r"; + } } function show_test($test_idx, $shortname) Modified: php/php-src/trunk/run-tests.php === --- php/php-src/trunk/run-tests.php 2011-11-26 17:48:52 UTC (rev 319963) +++ php/php-src/trunk/run-tests.php 2011-11-26 17:56:43 UTC (rev 319964) @@ -678,7 +678,7 @@ with value 'bar'). -
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_4/ext/sockets/sockets.c branches/PHP_5_4/ext/sockets/tests/mcast_ipv4_send_error.phpt trunk/ext/sockets/sockets.c trunk/ext/sockets/tests/mcast_ipv4_send_er
cataphract Sat, 26 Nov 2011 17:48:52 + Revision: http://svn.php.net/viewvc?view=revision&revision=319963 Log: - Small ajustments to some multicast options. Changed paths: U php/php-src/branches/PHP_5_4/ext/sockets/sockets.c A php/php-src/branches/PHP_5_4/ext/sockets/tests/mcast_ipv4_send_error.phpt U php/php-src/trunk/ext/sockets/sockets.c A php/php-src/trunk/ext/sockets/tests/mcast_ipv4_send_error.phpt Modified: php/php-src/branches/PHP_5_4/ext/sockets/sockets.c === --- php/php-src/branches/PHP_5_4/ext/sockets/sockets.c 2011-11-26 17:35:19 UTC (rev 319962) +++ php/php-src/branches/PHP_5_4/ext/sockets/sockets.c 2011-11-26 17:48:52 UTC (rev 319963) @@ -2189,8 +2189,16 @@ goto dosockopt; case IP_MULTICAST_LOOP: + convert_to_boolean_ex(arg4); + goto ipv4_loop_ttl; case IP_MULTICAST_TTL: convert_to_long_ex(arg4); + if (Z_LVAL_PP(arg4) < 0L || Z_LVAL_PP(arg4) > 255L) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, + "Expected a value between 0 and 255"); + RETURN_FALSE; + } +ipv4_loop_ttl: ipv4_mcast_ttl_lback = (unsigned char) Z_LVAL_PP(arg4); opt_ptr = &ipv4_mcast_ttl_lback; optlen = sizeof(ipv4_mcast_ttl_lback); @@ -2225,8 +2233,16 @@ goto dosockopt; case IPV6_MULTICAST_LOOP: + convert_to_boolean_ex(arg4); + goto ipv6_loop_hops; case IPV6_MULTICAST_HOPS: convert_to_long_ex(arg4); + if (Z_LVAL_PP(arg4) < -1L || Z_LVAL_PP(arg4) > 255L) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, + "Expected a value between -1 and 255"); + RETURN_FALSE; + } +ipv6_loop_hops: ov = (int) Z_LVAL_PP(arg4); opt_ptr = &ov; optlen = sizeof(ov); Added: php/php-src/branches/PHP_5_4/ext/sockets/tests/mcast_ipv4_send_error.phpt === --- php/php-src/branches/PHP_5_4/ext/sockets/tests/mcast_ipv4_send_error.phpt (rev 0) +++ php/php-src/branches/PHP_5_4/ext/sockets/tests/mcast_ipv4_send_error.phpt 2011-11-26 17:48:52 UTC (rev 319963) @@ -0,0 +1,79 @@ +--TEST-- +Multicast support: IPv4 send options with unusual values +--SKIPIF-- + 255L) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, + "Expected a value between 0 and 255"); + RETURN_FALSE; + } +ipv4_loop_ttl: ipv4_mcast_ttl_lback = (unsigned char) Z_LVAL_PP(arg4); opt_ptr = &ipv4_mcast_ttl_lback; optlen = sizeof(ipv4_mcast_ttl_lback); @@ -2225,8 +2233,16 @@ goto dosockopt; case IPV6_MULTICAST_LOOP: + convert_to_boolean_ex(arg4); + goto ipv6_loop_hops; case IPV6_MULTICAST_HOPS: convert_to_long_ex(arg4); + if (Z_LVAL_PP(arg4) < -1L || Z_LVAL_PP(arg4) > 255L) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, + "Expected a value between -1 and 255"); + RETURN_FALSE; + } +ipv6_loop_hops: ov = (int) Z_LVAL_PP(arg4); opt_ptr = &ov; optlen = sizeof(ov); Added: php/php-src/trunk/ext/sockets/tests/mcast_ipv4_send_error.phpt === --- php/php-src/trunk/ext/sockets/tests/mcast_ipv4_send_error.phpt (rev 0) +++ php/php-src/trunk/ext/sockets/tests/mcast_ipv4_send_error.phpt 2011-11-26 17:48:52 UTC (rev 319963) @@ -0,0 +1,79 @@ +--TEST-- +Multicast support: IPv4 send options with unusual values +--SKIPIF-- +-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/tests/classes/ctor_in_interface_02.phpt branches/PHP_5_4/tests/classes/ctor_in_interface_02.phpt trunk/tests/classes/ctor_in_interface_02.phpt
felipe Sat, 26 Nov 2011 17:35:19 + Revision: http://svn.php.net/viewvc?view=revision&revision=319962 Log: - Fix test Changed paths: U php/php-src/branches/PHP_5_3/tests/classes/ctor_in_interface_02.phpt U php/php-src/branches/PHP_5_4/tests/classes/ctor_in_interface_02.phpt U php/php-src/trunk/tests/classes/ctor_in_interface_02.phpt Modified: php/php-src/branches/PHP_5_3/tests/classes/ctor_in_interface_02.phpt === --- php/php-src/branches/PHP_5_3/tests/classes/ctor_in_interface_02.phpt 2011-11-26 17:30:03 UTC (rev 319961) +++ php/php-src/branches/PHP_5_3/tests/classes/ctor_in_interface_02.phpt 2011-11-26 17:35:19 UTC (rev 319962) @@ -32,4 +32,4 @@ ?> --EXPECTF-- -Fatal error: Can't inherit abstract function constr3::__construct() (previously declared abstract in constr1) in %s on line %d +Fatal error: Declaration of implem13::__construct() must be compatible with constr3::__construct($a) in %s on line %d Modified: php/php-src/branches/PHP_5_4/tests/classes/ctor_in_interface_02.phpt === --- php/php-src/branches/PHP_5_4/tests/classes/ctor_in_interface_02.phpt 2011-11-26 17:30:03 UTC (rev 319961) +++ php/php-src/branches/PHP_5_4/tests/classes/ctor_in_interface_02.phpt 2011-11-26 17:35:19 UTC (rev 319962) @@ -32,4 +32,4 @@ ?> --EXPECTF-- -Fatal error: Can't inherit abstract function constr3::__construct() (previously declared abstract in constr1) in %s on line %d +Fatal error: Declaration of implem13::__construct() must be compatible with constr3::__construct($a) in %s on line %d Modified: php/php-src/trunk/tests/classes/ctor_in_interface_02.phpt === --- php/php-src/trunk/tests/classes/ctor_in_interface_02.phpt 2011-11-26 17:30:03 UTC (rev 319961) +++ php/php-src/trunk/tests/classes/ctor_in_interface_02.phpt 2011-11-26 17:35:19 UTC (rev 319962) @@ -32,4 +32,4 @@ ?> --EXPECTF-- -Fatal error: Can't inherit abstract function constr3::__construct() (previously declared abstract in constr1) in %s on line %d +Fatal error: Declaration of implem13::__construct() must be compatible with constr3::__construct($a) in %s on line %d -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/ext/date/lib/parse_date.c branches/PHP_5_3/ext/date/lib/parse_date.re branches/PHP_5_3/ext/date/tests/bug54851.phpt branches/PHP_5_4
derick Sat, 26 Nov 2011 16:44:21 + Revision: http://svn.php.net/viewvc?view=revision&revision=319960 Log: - Fixed bug #54851 (DateTime::createFromFormat() doesn't interpret "D"). Bug: https://bugs.php.net/54851 (Assigned) DateTime::createFromFormat, $format=='D' or $format=='l' Always Returns Today. Changed paths: U php/php-src/branches/PHP_5_3/NEWS U php/php-src/branches/PHP_5_3/ext/date/lib/parse_date.c U php/php-src/branches/PHP_5_3/ext/date/lib/parse_date.re A php/php-src/branches/PHP_5_3/ext/date/tests/bug54851.phpt U php/php-src/branches/PHP_5_4/ext/date/lib/parse_date.c U php/php-src/branches/PHP_5_4/ext/date/lib/parse_date.re A php/php-src/branches/PHP_5_4/ext/date/tests/bug54851.phpt U php/php-src/trunk/ext/date/lib/parse_date.c U php/php-src/trunk/ext/date/lib/parse_date.re A php/php-src/trunk/ext/date/tests/bug54851.phpt Modified: php/php-src/branches/PHP_5_3/NEWS === --- php/php-src/branches/PHP_5_3/NEWS 2011-11-26 16:13:39 UTC (rev 319959) +++ php/php-src/branches/PHP_5_3/NEWS 2011-11-26 16:44:21 UTC (rev 319960) @@ -33,6 +33,8 @@ timestamp). (Derick) . Fixed bug #55253 (DateTime::add() and sub() result -1 hour on objects with time zone type 2). (Derick) + . Fixed bug #54851 (DateTime::createFromFormat() doesn't interpret "D"). +(Derick) . Fixed bug #54596 (incorrect years for DateTime objects created with 4-digit years). (Derick) Modified: php/php-src/branches/PHP_5_3/ext/date/lib/parse_date.c === --- php/php-src/branches/PHP_5_3/ext/date/lib/parse_date.c 2011-11-26 16:13:39 UTC (rev 319959) +++ php/php-src/branches/PHP_5_3/ext/date/lib/parse_date.c 2011-11-26 16:44:21 UTC (rev 319960) @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Fri Nov 25 16:42:41 2011 */ +/* Generated by re2c 0.13.5 on Sat Nov 26 16:43:31 2011 */ #line 1 "ext/date/lib/parse_date.re" /* +--+ @@ -24917,8 +24917,19 @@ switch (*fptr) { case 'D': /* three letter day */ case 'l': /* full day */ -if (!timelib_lookup_relunit((char **) &ptr)) { - add_pbf_error(s, "A textual day could not be found", string, begin); +{ + const timelib_relunit* tmprel = 0; + + tmprel = timelib_lookup_relunit((char **) &ptr); + if (!tmprel) { + add_pbf_error(s, "A textual day could not be found", string, begin); + break; + } else { + in.time->have_relative = 1; + in.time->relative.have_weekday_relative = 1; + in.time->relative.weekday = tmprel->multiplier; + in.time->relative.weekday_behavior = 1; + } } break; case 'd': /* two digit day, with leading zero */ @@ -25001,15 +25012,31 @@ } break; case 'i': /* two digit minute, with leading zero */ -TIMELIB_CHECK_NUMBER; -if ((s->time->i = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { - add_pbf_error(s, "A two digit minute could not be found", string, begin); +{ + int length; + timelib_sll min; + + TIMELIB_CHECK_NUMBER; + min = timelib_get_nr_ex((char **) &ptr, 2, &length); + if (min == TIMELIB_UNSET || length != 2) { + add_pbf_error(s, "A two digit minute could not be found", string, begin); + } else { + s->time->i = min; + } } break; case 's': /* two digit second, with leading zero */ -TIMELIB_CHECK_NUMBER; -if ((s->time->s = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { - add_pbf_error(s, "A two digit second could not be found", string, begin); +{ + int length; + timelib_sll sec; + + TIMELIB_CHECK_NUMBER; + sec = timelib_get_nr_ex((char **) &ptr, 2, &length); + if (sec == TIMELIB_UNSET || length != 2) { + add_pbf_error(s, "A two second minute could not be found", string, begin); + } else { + s->time->s = sec; + } } break; case 'u': /* up to six digit millisecond */ Modified: php/php-src/branches/PHP_5_3/ext/date/lib/parse_date.re === --- php/php-src/branches/PHP_5_3/ext/date/lib/parse_date.re 2011-11-26 16:13:39 UTC (rev 319959) +++ php/php-src/branches/PHP_5_3/ext/date/lib/parse_date.re 2011-11-26 16:44:21 UTC (rev 319960) @@ -1924,8 +1924,19 @@ switch (*fptr) { case 'D': /* three letter day */ case 'l': /* full day */ -if (!timelib_lookup_relunit((char **) &ptr)) { - add_pbf_error(s, "A textual day could not be found", string, begin); +{ + const timelib_relunit* tmprel = 0; + + tmprel = timelib_lookup_relunit((char **) &ptr); + if (!tmprel) { + add_pbf_error(s, "A textual day could not be found", string, begin); + break; + } else { + in.time->have_relative = 1; + in.time->relative.have_weekday_
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_4/ext/intl/common/common_error.c trunk/ext/intl/common/common_error.c
cataphract Sat, 26 Nov 2011 14:55:31 + Revision: http://svn.php.net/viewvc?view=revision&revision=319952 Log: - Fixed bug #60392 (U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR undeclared) (fedora at famillecollet dot com) Bug: https://bugs.php.net/60392 (Open) 'U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR' undeclared Changed paths: U php/php-src/branches/PHP_5_4/ext/intl/common/common_error.c U php/php-src/trunk/ext/intl/common/common_error.c Modified: php/php-src/branches/PHP_5_4/ext/intl/common/common_error.c === --- php/php-src/branches/PHP_5_4/ext/intl/common/common_error.c 2011-11-26 12:08:23 UTC (rev 319951) +++ php/php-src/branches/PHP_5_4/ext/intl/common/common_error.c 2011-11-26 14:55:31 UTC (rev 319952) @@ -241,7 +241,9 @@ INTL_EXPOSE_CONST( U_IDNA_VERIFICATION_ERROR ); INTL_EXPOSE_CONST( U_IDNA_LABEL_TOO_LONG_ERROR ); INTL_EXPOSE_CONST( U_IDNA_ZERO_LENGTH_LABEL_ERROR ); +#if U_ICU_VERSION_MAJOR_NUM > 3 || U_ICU_VERSION_MAJOR_NUM == 3 && U_ICU_VERSION_MINOR_NUM >= 8 INTL_EXPOSE_CONST( U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR ); +#endif INTL_EXPOSE_CONST( U_IDNA_ERROR_LIMIT ); /* Aliases for StringPrep */ Modified: php/php-src/trunk/ext/intl/common/common_error.c === --- php/php-src/trunk/ext/intl/common/common_error.c2011-11-26 12:08:23 UTC (rev 319951) +++ php/php-src/trunk/ext/intl/common/common_error.c2011-11-26 14:55:31 UTC (rev 319952) @@ -241,7 +241,9 @@ INTL_EXPOSE_CONST( U_IDNA_VERIFICATION_ERROR ); INTL_EXPOSE_CONST( U_IDNA_LABEL_TOO_LONG_ERROR ); INTL_EXPOSE_CONST( U_IDNA_ZERO_LENGTH_LABEL_ERROR ); +#if U_ICU_VERSION_MAJOR_NUM > 3 || U_ICU_VERSION_MAJOR_NUM == 3 && U_ICU_VERSION_MINOR_NUM >= 8 INTL_EXPOSE_CONST( U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR ); +#endif INTL_EXPOSE_CONST( U_IDNA_ERROR_LIMIT ); /* Aliases for StringPrep */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php