php-src/ext/pcre/tests/005.phpt
2006-12-19 21:46:48 +00:00

477 lines
21 KiB
PHP

--TEST--
abusing preg_match_all() #2
--FILE--
<?php
// this file is not used in the cron job
// use it to test the gcc regex with the sample data provided
$sampledata = "
/p2/var/php_gcov/PHP_4_4/ext/ming/ming.c: In function `zif_swfbitmap_init':
/p2/var/php_gcov/PHP_4_4/ext/ming/ming.c:323: warning: assignment from incompatible pointer type
/p2/var/php_gcov/PHP_4_4/ext/ming/ming.c: In function `zif_swftextfield_setFont':
/p2/var/php_gcov/PHP_4_4/ext/ming/ming.c:2597: warning: passing arg 2 of `SWFTextField_setFont' from incompatible pointer type
/p2/var/php_gcov/PHP_4_4/ext/oci8/oci8.c:1027: warning: `oci_ping' defined but not used
/p2/var/php_gcov/PHP_4_4/ext/posix/posix.c: In function `zif_posix_getpgid':
/p2/var/php_gcov/PHP_4_4/ext/posix/posix.c:484: warning: implicit declaration of function `getpgid'
/p2/var/php_gcov/PHP_4_4/ext/posix/posix.c: In function `zif_posix_getsid':
/p2/var/php_gcov/PHP_4_4/ext/posix/posix.c:506: warning: implicit declaration of function `getsid'
/p2/var/php_gcov/PHP_4_4/ext/session/mod_files.c: In function `ps_read_files':
/p2/var/php_gcov/PHP_4_4/ext/session/mod_files.c:302: warning: implicit declaration of function `pread'
/p2/var/php_gcov/PHP_4_4/ext/session/mod_files.c: In function `ps_write_files':
/p2/var/php_gcov/PHP_4_4/ext/session/mod_files.c:340: warning: implicit declaration of function `pwrite'
/p2/var/php_gcov/PHP_4_4/ext/sockets/sockets.c: In function `zif_socket_get_option':
/p2/var/php_gcov/PHP_4_4/ext/sockets/sockets.c:1862: warning: unused variable `timeout'
/p2/var/php_gcov/PHP_4_4/ext/sockets/sockets.c: In function `zif_socket_set_option':
/p2/var/php_gcov/PHP_4_4/ext/sockets/sockets.c:1941: warning: unused variable `timeout'
/p2/var/php_gcov/PHP_4_4/regex/regexec.c:19: warning: `nope' defined but not used
/p2/var/php_gcov/PHP_4_4/ext/standard/exec.c:50: warning: `php_make_safe_mode_command' defined but not used
/p2/var/php_gcov/PHP_4_4/ext/standard/image.c: In function `php_handle_jpc':
/p2/var/php_gcov/PHP_4_4/ext/standard/image.c:604: warning: unused variable `dummy_int'
/p2/var/php_gcov/PHP_4_4/ext/standard/parsedate.c: In function `php_gd_parse':
/p2/var/php_gcov/PHP_4_4/ext/standard/parsedate.c:1138: warning: implicit declaration of function `php_gd_lex'
/p2/var/php_gcov/PHP_4_4/ext/standard/parsedate.y: At top level:
/p2/var/php_gcov/PHP_4_4/ext/standard/parsedate.y:864: warning: return type defaults to `int'
/p2/var/php_gcov/PHP_4_4/ext/sysvmsg/sysvmsg.c: In function `zif_msg_receive':
/p2/var/php_gcov/PHP_4_4/ext/sysvmsg/sysvmsg.c:318: warning: passing arg 2 of `php_var_unserialize' from incompatible pointer type
/p2/var/php_gcov/PHP_4_4/ext/yp/yp.c: In function `zif_yp_err_string':
/p2/var/php_gcov/PHP_4_4/ext/yp/yp.c:372: warning: assignment discards qualifiers from pointer target type
Zend/zend_language_scanner.c:5944: warning: `yy_fatal_error' defined but not used
Zend/zend_language_scanner.c:2627: warning: `yy_last_accepting_state' defined but not used
Zend/zend_language_scanner.c:2628: warning: `yy_last_accepting_cpos' defined but not used
Zend/zend_language_scanner.c:2634: warning: `yy_more_flag' defined but not used
Zend/zend_language_scanner.c:2635: warning: `yy_more_len' defined but not used
Zend/zend_language_scanner.c:5483: warning: `yyunput' defined but not used
Zend/zend_language_scanner.c:5929: warning: `yy_top_state' defined but not used
conflicts: 2 shift/reduce
Zend/zend_ini_scanner.c:457: warning: `yy_last_accepting_state' defined but not used
Zend/zend_ini_scanner.c:458: warning: `yy_last_accepting_cpos' defined but not used
Zend/zend_ini_scanner.c:1361: warning: `yyunput' defined but not used
/p2/var/php_gcov/PHP_4_4/Zend/zend_alloc.c: In function `_safe_emalloc':
/p2/var/php_gcov/PHP_4_4/Zend/zend_alloc.c:237: warning: long int format, size_t arg (arg 3)
/p2/var/php_gcov/PHP_4_4/Zend/zend_alloc.c:237: warning: long int format, size_t arg (arg 4)
/p2/var/php_gcov/PHP_4_4/Zend/zend_alloc.c:237: warning: long int format, size_t arg (arg 5)
/p2/var/php_gcov/PHP_4_4/Zend/zend_ini.c:338: warning: `zend_ini_displayer_cb' defined but not used
ext/mysql/libmysql/my_tempnam.o(.text+0x80): In function `my_tempnam':
/p2/var/php_gcov/PHP_4_4/ext/mysql/libmysql/my_tempnam.c:115: warning: the use of `tempnam' is dangerous, better use `mkstemp'
ext/mysql/libmysql/my_tempnam.o(.text+0x80): In function `my_tempnam':
/p2/var/php_gcov/PHP_4_4/ext/mysql/libmysql/my_tempnam.c:115: warning: the use of `tempnam' is dangerous, better use `mkstemp'
ext/ming/ming.o(.text+0xc115): In function `zim_swfmovie_namedAnchor':
/p2/var/php_gcov/PHP_5_2/ext/ming/ming.c:2207: undefined reference to `SWFMovie_namedAnchor'
/p2/var/php_gcov/PHP_5_2/ext/ming/ming.c:2209: undefined reference to `SWFMovie_xpto'
/p2/var/php_gcov/PHP_5_2/ext/ming/ming.c:2259: undefined reference to `SWFMovie_foo'
ext/ming/ming.o(.text+0x851): In function `zif_ming_setSWFCompression':
/p2/var/php_gcov/PHP_5_2/ext/ming/ming.c:154: undefined reference to `Ming_setSWFCompression'
";
// Regular expression to select the error and warning information
// tuned for gcc 3.4, 4.0 and 4.1
$gcc_regex = '/^((.+)(\(\.text\+0x[[:xdigit:]]+\))?: In function [`\'](\w+)\':\s+)?'.
'((?(1)(?(3)[^:\n]+|\2)|[^:\n]+)):(\d+): (?:(error|warning):\s+)?(.+)'.
str_repeat('(?:\s+\5:(\d+): (?:(error|warning):\s+)?(.+))?', 99). // capture up to 100 errors
'/mS';
var_dump(preg_match_all($gcc_regex, $sampledata, $m, PREG_SET_ORDER));
print_r($m);
?>
--EXPECT--
int(24)
Array
(
[0] => Array
(
[0] => /p2/var/php_gcov/PHP_4_4/ext/ming/ming.c: In function `zif_swfbitmap_init':
/p2/var/php_gcov/PHP_4_4/ext/ming/ming.c:323: warning: assignment from incompatible pointer type
[1] => /p2/var/php_gcov/PHP_4_4/ext/ming/ming.c: In function `zif_swfbitmap_init':
[2] => /p2/var/php_gcov/PHP_4_4/ext/ming/ming.c
[3] =>
[4] => zif_swfbitmap_init
[5] => /p2/var/php_gcov/PHP_4_4/ext/ming/ming.c
[6] => 323
[7] => warning
[8] => assignment from incompatible pointer type
)
[1] => Array
(
[0] => /p2/var/php_gcov/PHP_4_4/ext/ming/ming.c: In function `zif_swftextfield_setFont':
/p2/var/php_gcov/PHP_4_4/ext/ming/ming.c:2597: warning: passing arg 2 of `SWFTextField_setFont' from incompatible pointer type
[1] => /p2/var/php_gcov/PHP_4_4/ext/ming/ming.c: In function `zif_swftextfield_setFont':
[2] => /p2/var/php_gcov/PHP_4_4/ext/ming/ming.c
[3] =>
[4] => zif_swftextfield_setFont
[5] => /p2/var/php_gcov/PHP_4_4/ext/ming/ming.c
[6] => 2597
[7] => warning
[8] => passing arg 2 of `SWFTextField_setFont' from incompatible pointer type
)
[2] => Array
(
[0] => /p2/var/php_gcov/PHP_4_4/ext/oci8/oci8.c:1027: warning: `oci_ping' defined but not used
[1] =>
[2] =>
[3] =>
[4] =>
[5] => /p2/var/php_gcov/PHP_4_4/ext/oci8/oci8.c
[6] => 1027
[7] => warning
[8] => `oci_ping' defined but not used
)
[3] => Array
(
[0] => /p2/var/php_gcov/PHP_4_4/ext/posix/posix.c: In function `zif_posix_getpgid':
/p2/var/php_gcov/PHP_4_4/ext/posix/posix.c:484: warning: implicit declaration of function `getpgid'
[1] => /p2/var/php_gcov/PHP_4_4/ext/posix/posix.c: In function `zif_posix_getpgid':
[2] => /p2/var/php_gcov/PHP_4_4/ext/posix/posix.c
[3] =>
[4] => zif_posix_getpgid
[5] => /p2/var/php_gcov/PHP_4_4/ext/posix/posix.c
[6] => 484
[7] => warning
[8] => implicit declaration of function `getpgid'
)
[4] => Array
(
[0] => /p2/var/php_gcov/PHP_4_4/ext/posix/posix.c: In function `zif_posix_getsid':
/p2/var/php_gcov/PHP_4_4/ext/posix/posix.c:506: warning: implicit declaration of function `getsid'
[1] => /p2/var/php_gcov/PHP_4_4/ext/posix/posix.c: In function `zif_posix_getsid':
[2] => /p2/var/php_gcov/PHP_4_4/ext/posix/posix.c
[3] =>
[4] => zif_posix_getsid
[5] => /p2/var/php_gcov/PHP_4_4/ext/posix/posix.c
[6] => 506
[7] => warning
[8] => implicit declaration of function `getsid'
)
[5] => Array
(
[0] => /p2/var/php_gcov/PHP_4_4/ext/session/mod_files.c: In function `ps_read_files':
/p2/var/php_gcov/PHP_4_4/ext/session/mod_files.c:302: warning: implicit declaration of function `pread'
[1] => /p2/var/php_gcov/PHP_4_4/ext/session/mod_files.c: In function `ps_read_files':
[2] => /p2/var/php_gcov/PHP_4_4/ext/session/mod_files.c
[3] =>
[4] => ps_read_files
[5] => /p2/var/php_gcov/PHP_4_4/ext/session/mod_files.c
[6] => 302
[7] => warning
[8] => implicit declaration of function `pread'
)
[6] => Array
(
[0] => /p2/var/php_gcov/PHP_4_4/ext/session/mod_files.c: In function `ps_write_files':
/p2/var/php_gcov/PHP_4_4/ext/session/mod_files.c:340: warning: implicit declaration of function `pwrite'
[1] => /p2/var/php_gcov/PHP_4_4/ext/session/mod_files.c: In function `ps_write_files':
[2] => /p2/var/php_gcov/PHP_4_4/ext/session/mod_files.c
[3] =>
[4] => ps_write_files
[5] => /p2/var/php_gcov/PHP_4_4/ext/session/mod_files.c
[6] => 340
[7] => warning
[8] => implicit declaration of function `pwrite'
)
[7] => Array
(
[0] => /p2/var/php_gcov/PHP_4_4/ext/sockets/sockets.c: In function `zif_socket_get_option':
/p2/var/php_gcov/PHP_4_4/ext/sockets/sockets.c:1862: warning: unused variable `timeout'
[1] => /p2/var/php_gcov/PHP_4_4/ext/sockets/sockets.c: In function `zif_socket_get_option':
[2] => /p2/var/php_gcov/PHP_4_4/ext/sockets/sockets.c
[3] =>
[4] => zif_socket_get_option
[5] => /p2/var/php_gcov/PHP_4_4/ext/sockets/sockets.c
[6] => 1862
[7] => warning
[8] => unused variable `timeout'
)
[8] => Array
(
[0] => /p2/var/php_gcov/PHP_4_4/ext/sockets/sockets.c: In function `zif_socket_set_option':
/p2/var/php_gcov/PHP_4_4/ext/sockets/sockets.c:1941: warning: unused variable `timeout'
[1] => /p2/var/php_gcov/PHP_4_4/ext/sockets/sockets.c: In function `zif_socket_set_option':
[2] => /p2/var/php_gcov/PHP_4_4/ext/sockets/sockets.c
[3] =>
[4] => zif_socket_set_option
[5] => /p2/var/php_gcov/PHP_4_4/ext/sockets/sockets.c
[6] => 1941
[7] => warning
[8] => unused variable `timeout'
)
[9] => Array
(
[0] => /p2/var/php_gcov/PHP_4_4/regex/regexec.c:19: warning: `nope' defined but not used
[1] =>
[2] =>
[3] =>
[4] =>
[5] => /p2/var/php_gcov/PHP_4_4/regex/regexec.c
[6] => 19
[7] => warning
[8] => `nope' defined but not used
)
[10] => Array
(
[0] => /p2/var/php_gcov/PHP_4_4/ext/standard/exec.c:50: warning: `php_make_safe_mode_command' defined but not used
[1] =>
[2] =>
[3] =>
[4] =>
[5] => /p2/var/php_gcov/PHP_4_4/ext/standard/exec.c
[6] => 50
[7] => warning
[8] => `php_make_safe_mode_command' defined but not used
)
[11] => Array
(
[0] => /p2/var/php_gcov/PHP_4_4/ext/standard/image.c: In function `php_handle_jpc':
/p2/var/php_gcov/PHP_4_4/ext/standard/image.c:604: warning: unused variable `dummy_int'
[1] => /p2/var/php_gcov/PHP_4_4/ext/standard/image.c: In function `php_handle_jpc':
[2] => /p2/var/php_gcov/PHP_4_4/ext/standard/image.c
[3] =>
[4] => php_handle_jpc
[5] => /p2/var/php_gcov/PHP_4_4/ext/standard/image.c
[6] => 604
[7] => warning
[8] => unused variable `dummy_int'
)
[12] => Array
(
[0] => /p2/var/php_gcov/PHP_4_4/ext/standard/parsedate.c: In function `php_gd_parse':
/p2/var/php_gcov/PHP_4_4/ext/standard/parsedate.c:1138: warning: implicit declaration of function `php_gd_lex'
[1] => /p2/var/php_gcov/PHP_4_4/ext/standard/parsedate.c: In function `php_gd_parse':
[2] => /p2/var/php_gcov/PHP_4_4/ext/standard/parsedate.c
[3] =>
[4] => php_gd_parse
[5] => /p2/var/php_gcov/PHP_4_4/ext/standard/parsedate.c
[6] => 1138
[7] => warning
[8] => implicit declaration of function `php_gd_lex'
)
[13] => Array
(
[0] => /p2/var/php_gcov/PHP_4_4/ext/standard/parsedate.y:864: warning: return type defaults to `int'
[1] =>
[2] =>
[3] =>
[4] =>
[5] => /p2/var/php_gcov/PHP_4_4/ext/standard/parsedate.y
[6] => 864
[7] => warning
[8] => return type defaults to `int'
)
[14] => Array
(
[0] => /p2/var/php_gcov/PHP_4_4/ext/sysvmsg/sysvmsg.c: In function `zif_msg_receive':
/p2/var/php_gcov/PHP_4_4/ext/sysvmsg/sysvmsg.c:318: warning: passing arg 2 of `php_var_unserialize' from incompatible pointer type
[1] => /p2/var/php_gcov/PHP_4_4/ext/sysvmsg/sysvmsg.c: In function `zif_msg_receive':
[2] => /p2/var/php_gcov/PHP_4_4/ext/sysvmsg/sysvmsg.c
[3] =>
[4] => zif_msg_receive
[5] => /p2/var/php_gcov/PHP_4_4/ext/sysvmsg/sysvmsg.c
[6] => 318
[7] => warning
[8] => passing arg 2 of `php_var_unserialize' from incompatible pointer type
)
[15] => Array
(
[0] => /p2/var/php_gcov/PHP_4_4/ext/yp/yp.c: In function `zif_yp_err_string':
/p2/var/php_gcov/PHP_4_4/ext/yp/yp.c:372: warning: assignment discards qualifiers from pointer target type
[1] => /p2/var/php_gcov/PHP_4_4/ext/yp/yp.c: In function `zif_yp_err_string':
[2] => /p2/var/php_gcov/PHP_4_4/ext/yp/yp.c
[3] =>
[4] => zif_yp_err_string
[5] => /p2/var/php_gcov/PHP_4_4/ext/yp/yp.c
[6] => 372
[7] => warning
[8] => assignment discards qualifiers from pointer target type
)
[16] => Array
(
[0] => Zend/zend_language_scanner.c:5944: warning: `yy_fatal_error' defined but not used
Zend/zend_language_scanner.c:2627: warning: `yy_last_accepting_state' defined but not used
Zend/zend_language_scanner.c:2628: warning: `yy_last_accepting_cpos' defined but not used
Zend/zend_language_scanner.c:2634: warning: `yy_more_flag' defined but not used
Zend/zend_language_scanner.c:2635: warning: `yy_more_len' defined but not used
Zend/zend_language_scanner.c:5483: warning: `yyunput' defined but not used
Zend/zend_language_scanner.c:5929: warning: `yy_top_state' defined but not used
[1] =>
[2] =>
[3] =>
[4] =>
[5] => Zend/zend_language_scanner.c
[6] => 5944
[7] => warning
[8] => `yy_fatal_error' defined but not used
[9] => 2627
[10] => warning
[11] => `yy_last_accepting_state' defined but not used
[12] => 2628
[13] => warning
[14] => `yy_last_accepting_cpos' defined but not used
[15] => 2634
[16] => warning
[17] => `yy_more_flag' defined but not used
[18] => 2635
[19] => warning
[20] => `yy_more_len' defined but not used
[21] => 5483
[22] => warning
[23] => `yyunput' defined but not used
[24] => 5929
[25] => warning
[26] => `yy_top_state' defined but not used
)
[17] => Array
(
[0] => Zend/zend_ini_scanner.c:457: warning: `yy_last_accepting_state' defined but not used
Zend/zend_ini_scanner.c:458: warning: `yy_last_accepting_cpos' defined but not used
Zend/zend_ini_scanner.c:1361: warning: `yyunput' defined but not used
[1] =>
[2] =>
[3] =>
[4] =>
[5] => Zend/zend_ini_scanner.c
[6] => 457
[7] => warning
[8] => `yy_last_accepting_state' defined but not used
[9] => 458
[10] => warning
[11] => `yy_last_accepting_cpos' defined but not used
[12] => 1361
[13] => warning
[14] => `yyunput' defined but not used
)
[18] => Array
(
[0] => /p2/var/php_gcov/PHP_4_4/Zend/zend_alloc.c: In function `_safe_emalloc':
/p2/var/php_gcov/PHP_4_4/Zend/zend_alloc.c:237: warning: long int format, size_t arg (arg 3)
/p2/var/php_gcov/PHP_4_4/Zend/zend_alloc.c:237: warning: long int format, size_t arg (arg 4)
/p2/var/php_gcov/PHP_4_4/Zend/zend_alloc.c:237: warning: long int format, size_t arg (arg 5)
[1] => /p2/var/php_gcov/PHP_4_4/Zend/zend_alloc.c: In function `_safe_emalloc':
[2] => /p2/var/php_gcov/PHP_4_4/Zend/zend_alloc.c
[3] =>
[4] => _safe_emalloc
[5] => /p2/var/php_gcov/PHP_4_4/Zend/zend_alloc.c
[6] => 237
[7] => warning
[8] => long int format, size_t arg (arg 3)
[9] => 237
[10] => warning
[11] => long int format, size_t arg (arg 4)
[12] => 237
[13] => warning
[14] => long int format, size_t arg (arg 5)
)
[19] => Array
(
[0] => /p2/var/php_gcov/PHP_4_4/Zend/zend_ini.c:338: warning: `zend_ini_displayer_cb' defined but not used
[1] =>
[2] =>
[3] =>
[4] =>
[5] => /p2/var/php_gcov/PHP_4_4/Zend/zend_ini.c
[6] => 338
[7] => warning
[8] => `zend_ini_displayer_cb' defined but not used
)
[20] => Array
(
[0] => ext/mysql/libmysql/my_tempnam.o(.text+0x80): In function `my_tempnam':
/p2/var/php_gcov/PHP_4_4/ext/mysql/libmysql/my_tempnam.c:115: warning: the use of `tempnam' is dangerous, better use `mkstemp'
[1] => ext/mysql/libmysql/my_tempnam.o(.text+0x80): In function `my_tempnam':
[2] => ext/mysql/libmysql/my_tempnam.o
[3] => (.text+0x80)
[4] => my_tempnam
[5] => /p2/var/php_gcov/PHP_4_4/ext/mysql/libmysql/my_tempnam.c
[6] => 115
[7] => warning
[8] => the use of `tempnam' is dangerous, better use `mkstemp'
)
[21] => Array
(
[0] => ext/mysql/libmysql/my_tempnam.o(.text+0x80): In function `my_tempnam':
/p2/var/php_gcov/PHP_4_4/ext/mysql/libmysql/my_tempnam.c:115: warning: the use of `tempnam' is dangerous, better use `mkstemp'
[1] => ext/mysql/libmysql/my_tempnam.o(.text+0x80): In function `my_tempnam':
[2] => ext/mysql/libmysql/my_tempnam.o
[3] => (.text+0x80)
[4] => my_tempnam
[5] => /p2/var/php_gcov/PHP_4_4/ext/mysql/libmysql/my_tempnam.c
[6] => 115
[7] => warning
[8] => the use of `tempnam' is dangerous, better use `mkstemp'
)
[22] => Array
(
[0] => ext/ming/ming.o(.text+0xc115): In function `zim_swfmovie_namedAnchor':
/p2/var/php_gcov/PHP_5_2/ext/ming/ming.c:2207: undefined reference to `SWFMovie_namedAnchor'
/p2/var/php_gcov/PHP_5_2/ext/ming/ming.c:2209: undefined reference to `SWFMovie_xpto'
/p2/var/php_gcov/PHP_5_2/ext/ming/ming.c:2259: undefined reference to `SWFMovie_foo'
[1] => ext/ming/ming.o(.text+0xc115): In function `zim_swfmovie_namedAnchor':
[2] => ext/ming/ming.o
[3] => (.text+0xc115)
[4] => zim_swfmovie_namedAnchor
[5] => /p2/var/php_gcov/PHP_5_2/ext/ming/ming.c
[6] => 2207
[7] =>
[8] => undefined reference to `SWFMovie_namedAnchor'
[9] => 2209
[10] =>
[11] => undefined reference to `SWFMovie_xpto'
[12] => 2259
[13] =>
[14] => undefined reference to `SWFMovie_foo'
)
[23] => Array
(
[0] => ext/ming/ming.o(.text+0x851): In function `zif_ming_setSWFCompression':
/p2/var/php_gcov/PHP_5_2/ext/ming/ming.c:154: undefined reference to `Ming_setSWFCompression'
[1] => ext/ming/ming.o(.text+0x851): In function `zif_ming_setSWFCompression':
[2] => ext/ming/ming.o
[3] => (.text+0x851)
[4] => zif_ming_setSWFCompression
[5] => /p2/var/php_gcov/PHP_5_2/ext/ming/ming.c
[6] => 154
[7] =>
[8] => undefined reference to `Ming_setSWFCompression'
)
)