Skip to content

Instantly share code, notes, and snippets.

@cmb69
Created May 29, 2020 13:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cmb69/84829794d197b8a20dd247cdea5cd67b to your computer and use it in GitHub Desktop.
Save cmb69/84829794d197b8a20dd247cdea5cd67b to your computer and use it in GitHub Desktop.
run-test.php --html sample output
This file has been truncated, but you can view the full file.
<h2>Time Start: 2020-05-28 00:52:27</h2>
<table>
<tr><td>PASS</td><td>version string</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>defining INI options with -d</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>strip comments and whitespace with -w</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>execute a file with -f</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>using invalid combinations of cmdline options</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>using invalid combinations of cmdline options</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>syntax check</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>invalid arguments and error messages</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>syntax highlighting</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>path info request without exported PATH_INFO</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45860 (header() function fails to correctly replace all Status lines)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>header_remove()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>apache_request_headers() stack overflow.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>apache_response_headers()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60677: CGI doesn't properly validate shebang line contains #!</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61605 (header_remove() does not remove all headers)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69487 (SAPI may truncate POST data)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75574 putenv does not work properly if parameter contains non-ASCII unicode character, UTF-8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78323 Test exit code and error message for invalid parameters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>version string</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>running code with -r</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>running code with -r</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>defining INI options with -d (as 2nd arg)</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>defining INI options with -d</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>show information about function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>show information about class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>show information about extension</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>strip comments and whitespace with -w</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>execute a file with -f</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>using invalid combinations of cmdline options</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>executing a code with -R</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>executing a file with -F</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>syntax check</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>more invalid arguments and error messages</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>invalid arguments and error messages</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>running PHP code before and after processing input lines with -B and -E</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>syntax highlighting</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>CLI long options</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>CLI -a and readline</td><td>reason: need readline support</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>CLI -a and libedit</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>CLI php -m</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>CLI php -i</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>CLI php --ri</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>CLI shell shebang</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>STDIN/OUT/ERR stream type</td><td>reason: non windows test</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>HOST/PATH ini sections test for cli</td><td>reason: non windows test</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test basic argv multibyte API integration</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77111 php-win.exe corrupts unicode symbols from cli parameters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61977 Test exit code for various errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #44564 (escapeshellarg removes UTF-8 multi-byte characters)</td><td>reason: setlocale() failed</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61546 (functions related to current script failed when chdir() in cli sapi)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61679 (Error on non-standard HTTP methods)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61977 test CLI web-server support for Mime Type File extensions mapping</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #64529 (Ran out of opcode space)</td><td>reason: non windows test</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #64544 (Valgrind warnings after using putenv)</td><td>reason: non windows test</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64878 (304 responses return Content-Type header)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65066 (Cli server not responsive when responding with 422 http status code): 100 status code</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65066 (Cli server not responsive when responding with 422 http status code): 422 status code</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65066 (Cli server not responsive when responding with 422 http status code): 511 status code</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65633 (built-in server treat some http headers as case-sensitive)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66606 (Sets HTTP_CONTENT_TYPE but not CONTENT_TYPE) - GET request</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66606 (Sets HTTP_CONTENT_TYPE but not CONTENT_TYPE) - POST request</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66830 (Empty header causes PHP built-in web server to hang)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>FR #67429 (CLI server is missing some new HTTP response codes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>FR #67429 (CLI server is missing some new HTTP response codes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67741 (auto_prepend_file messes up __LINE__)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68291 (404 on urls with '+')</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68745 (Invalid HTTP requests make web server segfault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69655 (php -S changes MKCALENDAR request method to MKCOL)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>FR #69953 (Support MKCALENDAR request method)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70006 (cli - function with default arg = STDOUT crash output)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70264 (CLI server directory traversal)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70470 (Built-in server truncates headers spanning over TCP packets)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71005 (Segfault in php_cli_server_dispatch_router())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61977 Test that -R properly sets argi and argn</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #74600 (crash (SIGSEGV) in _zend_hash_add_or_update_i)</td><td>reason: non windows test</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78323 Test exit code and error message for invalid parameters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>cli_get_process_title() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Check cli_process_title support on Unix</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Check cli_process_title support in Windows</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>cli_set_process_title() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Correctly handle split and empty header</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>basic function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$_SERVER variable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55726 (Changing the working directory makes router script inaccessible)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55747 (request headers missed in $_SERVER)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Post a file</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55755 (SegFault when outputting header WWW-Authenticate)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55758 (Digest Authenticate missed in 5.4)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SERVER_PROTOCOL header availability</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PATH_INFO (relevant to #60112)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60180 ($_SERVER["PHP_SELF"] incorrect)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60159 (Router returns false, but POST is not passed to requested resource)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>No router, no script</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60477: Segfault after two multipart/form-data POST requestes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60523 (PHP Errors are not reported in browsers using built-in SAPI)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60591 (Memory leak when access a non-exists file)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Implement Req #60850 (Built in web server does not set $_SERVER['SCRIPT_FILENAME'] when using router)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Implement Req #61679 (Support HTTP PATCH method)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Implement Req #65917 (getallheaders() is not supported by the built-in web server)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Use SEARCH as a HTTP verb</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>sapi_windows_set_ctrl_handler()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Testing ftell() on std streams</td><td>reason: I/O capture test</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>file upload greater than 2G</td><td>reason: Cannot check free RAM from /proc/meminfo on this platform</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>func_num_args() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>func_get_arg() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>func_get_args() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>strncmp() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>strcasecmp() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>strncasecmp() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>each() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>define() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>get_class() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>get_parent_class() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>property_exists() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>class_exists() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>interface_exists() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>get_included_files() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>trigger_error() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>isset() with object properties when operating on non-object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>builtin functions tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>constant() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test unset(), empty() and isset() functions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>func_get_arg() invalid usage</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>?: operator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Implementating abstracting methods and optional parameters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing variable variables as function name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing operations with undefined variable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing dynamic calls</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying assign value to property when an object is not returned in a function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing dynamic calls using variable variables with curly syntax</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing function call through of array item</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing assign to property of an object in an array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Overriding $this in catch and checking the object properties later.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing array with '[]' passed as argument by value</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing array with '[]' passed as argument by reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Using undefined multidimensional array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing multiples 'default:' in switch</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Using 'static' and 'global' in global scope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to use lambda in array offset</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to access inexistent static property of Closure</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to use lambda as array key</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67468 (Segfault in highlight_file()/highlight_string())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Using indirect append on ArrayAccess object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>final public int ErrorException::getSeverity ( void );</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test for abstract static classes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Allow abstract function override</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Allow abstract function override</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Allow abstract function override</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>using multiple access modifiers (methods)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>using multiple access modifiers (attributes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>using multiple access modifiers (classes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>using multiple access modifiers (abstract methods)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>using multiple access modifiers (final methods)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>using multiple access modifiers (static methods)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>abstract final methods errmsg</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>Inconsistencies when accessing protected members</td><td> XFAIL REASON: Discussion: http://marc.info/?l=php-internals&m=120221184420957&w=2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>Inconsistencies when accessing protected members - 2</td><td> XFAIL REASON: Discussion: http://marc.info/?l=php-internals&m=120221184420957&w=2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing visibility of methods</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>__call() for private/protected methods</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trigger __call() in lieu of non visible methods when called via a callback.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Prevent abstract and final in the same class declaration</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>adding arrays</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>adding objects to arrays</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>adding arrays to objects</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>adding numbers to arrays</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>adding integers to doubles</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>adding numbers to strings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>adding strings to arrays</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>bitwise AND and strings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>declare bare anonymous class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>declare anonymous class extending another</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>reusing anonymous classes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>testing anonymous inheritance</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>testing reusing anons that implement an interface</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>testing anon classes inside namespaces</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>testing anon classes in functions outside of classes in namespaces</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>testing static access for methods and properties in anon classes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>testing traits in anon classes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trait binding after anon class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Ensure proper inheritance with get_class(anon class instance) used via class_alias (see also bug #70106)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Ensure correct unmangling of private property names for anonymous class instances</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>closure binding to anonymous class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>anonymous class trait binding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing calls to anonymous function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing anonymous function return as array key and accessing $GLOBALS</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Using throw $var with anonymous function return</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Basic argument unpacking</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Argument unpacking with by-ref arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Array must be separated if unpacking by reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Unpack arguments for dynamic call</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Argument unpacking with internal functions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Only arrays and Traversables can be unpacked</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Argument unpacking with many arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Unpack arguments for method calls</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Unpack arguments for new expression</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Argument unpacking does not work with non-integer keys</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Positional arguments cannot be used after argument unpacking</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Argument unpacking does not work with string keys (forward compatibility for named args)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Traversables that throw exceptions are properly handled during argument unpack</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Traversables cannot be unpacked into by-reference parameters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55719 (Argument restriction should come with a more specific error message)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55719 (Argument restriction should come with a more specific error message)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55719 (Argument restriction should come with a more specific error message)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55719 (Argument restriction should come with a more specific error message)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55719 (Argument restriction should come with a more specific error message)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60174 (Notice when array in method prototype error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Array addition is not commutative -- do not swap operands</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Tests that array manipulation code is correctly dealing with copy on write and splitting on reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Accept hashes being equal to zero</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Next free element may overflow in array literals</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Ensure "undefined offset" notice formats message corectly when undefined key is negative</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Appending to an array via unpack may fail</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Basic array unpacking</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Array unpacking with classes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Spread operator is not supported in destructuring assignments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Array unpacking does not work with non-integer keys</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Array unpacking with element rc=1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>array unpacking with string keys (not supported)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>array unpacking with undefinded variable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Unpacking non-array/Traversable detected at compile-time</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Unpacking of string keys detected at compile-time</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Using array unpacking in an array literal that also has string keys (OSS-Fuzz #17965)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Tests that array unshift code is correctly dealing with copy on write and splitting on reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Identical comparison of array with references</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Basic arrow function functionality check</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Arrow functions implicit use must be throwing notices only upon actual use</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Variable-variables inside arrow functions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Auto-globals in arrow functions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Arrow function $this binding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Arrow functions syntax variations</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Pretty printing for arrow functions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Yield inside arrow functions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70208 (scope information must be preserved with assert())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70528 (assert() with instanceof adds apostrophes around class name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>test passing assertion</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>test failing assertion</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>test catching failed assertion</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>test providing reason (fail)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>test providing reason (pass)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>test looping assert (pass)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>test compiled reason</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>test disabled expectations have no ill side effects</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>test stack trace is correct from failed exception in extended class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>test stack trace is correct from failed exception in extended class (parent implementing constructor)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>test overloaded __toString on custom exception</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>test enable/disable assertions at runtime</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>test failing assertion when disabled (with return value)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>test failing assertion when disabled</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>AST pretty-peinter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>test enable/disable assertions at runtime (assertions not completely disabled)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>test enable/disable assertions at runtime (assertions completely disabled)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>test assertions in namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>test assertions in namespace (assertions completely disabled)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>AST pretty-printer</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Empty statement in assert() shouldn't segfault</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Misoptimization when variable is modified by assert()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Coalesce assign (??=): Basic behavior</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Coalesce assign (??=): Exception handling</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Coalesce assign (??=): ArrayAccess handling</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Coalesce assign (??=): Non-writable variable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Coalesce assign (??=): Cannot reassign $this</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Null coalesce assign with memoized constant operand that is later interned (OSS-Fuzz #17903)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Various null return conditions of dim/obj assignments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Assign result of by-value function to object property by-reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>If the LHS of ref-assign ERRORs, that takes precedence over the "only variables" notice</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Assigning the result of a non-reference function by-reference should not leak</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cannot assign by reference to overloaded object, even if __get() returns by-ref</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>assign to object leaks with ref</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Assign to $this leaks when $this not defined</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>complex cases of variable assignment - 001</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>complex cases of variable assignment - 002</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>complex cases of variable assignment - 003</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>complex cases of variable assignment - 004</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZEND_POW_ASSIGN</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Serialization of backtick literal is incorrect</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>testing binary literals</td><td>reason: this test is for 32bit platform only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>testing binary literals</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>'break' error (non positive integers)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>'break' error (operator with non-integer operand)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>'break' error (not in the loop context)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>'break' error (wrong level)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #18556 (Setting locale to 'tr_TR' lowercases class names)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #19859 (__call() does not catch call_user_func_array() calls)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #20240 (order of destructor calls)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #20242 (Method call in front of class definition)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #21478 (Zend/zend_alloc.c :: shutdown_memory_manager produces segfault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #21888 (protected property and protected method of the same name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #22725 (A derived class can call a parent's protected method that calls a private method)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #22836 (returning references to NULL)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #23104 (Hash position not reset for constant arrays)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #24436 (isset()/empty() produce errors with non-existent variables in classes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #24635 (crash on dtor calling other functions)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #24699 (Memory Leak with per-class constants)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #24773 (unset() of integers treated as arrays causes a crash)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #24884 (calling $this->__clone(); crashes php)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #26010 (private / protected variables get exposed by get_object_vars())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #26077 (Memory leaks when creating an instance of an object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #26166 (__toString() crash when no values returned)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #26229 (getIterator() segfaults when it returns arrays or scalars)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #26281 (switch() crash when condition is a string offset)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #26696 (crash in switch() when string index is used)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #26697 (calling class_exists on a nonexistent class in __autoload results in segfault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #26698 (Thrown exceptions while evaluating argument to pass as parameter crash PHP)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #26801 (switch ($a{0}) crash)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #26802 (Can't call static method using a variable)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #27268 (Bad references accentuated by clone)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #27304 (Static functions don't function properly)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #27598 (list() array key assignment causes HUGE memory leak)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #27669 (PHP 5 didn't support all possibilities for calling static methods dynamically)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #27731 (error_reporing() call inside @ block does not work correctly)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #27798 (private / protected variables not exposed by get_object_vars() inside class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #28072 (static array with some constant keys will be incorrectly ordered)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #28377 (debug_backtrace is intermittently passing args)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #28442 (Changing a static variables in a class changes it across sub/super classes.)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #28444 (Cannot access undefined property for object with overloaded property access)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #29015 (Incorrect behavior of member vars(non string ones)-numeric mem vars und others)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #29104 (Function declaration in method doesn't work)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #29210 (Function is_callable does not support private and protected methods)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #29368 (The destructor is called when an exception is thrown from the constructor)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #29368.1 (The destructor is called when an exception is thrown from the constructor).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #29368.2 (The destructor is called when an exception is thrown from the constructor).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #29368.3 (The destructor is called when an exception is thrown from the constructor).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #29505 (get_class_vars() severely broken when used with arrays)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #29674 (inherited method doesn't have access to private variables of the derived class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #29689 (default value of protected member overrides default value of private)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #29883 (isset gives invalid values on strings)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #29890 (crash if error handler fails)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #29896 (Backtrace argument list out of sync)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #29944 (Function defined in switch, crashes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30080 (Passing array or non array of objects)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30140 (Problem with array in static properties)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30161 (Segmentation fault with exceptions)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30162 (Catching exception in constructor couses lose of $this)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30346 (arrayAccess and using $this)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30394 (Assignment operators yield wrong result with __get/__set)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30407 (Strange behaviour of default arguments)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30451 (static properties permissions broken)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30519 (Interface not existing says Class not found)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30702 (cannot initialize class variable from class constant)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30707 (Segmentation fault on exception in method)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30725 (PHP segfaults when an exception is thrown in getIterator() within foreach)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30791 (magic methods (__sleep/__wakeup/__toString) call __call if object is overloaded)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30820 (static member conflict with $this->member silently ignored)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30828 (debug_backtrace() reports incorrect class in overridden methods)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30889 (Conflict between __get/__set and ++ operator)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30922 (reflective functions crash PHP when interfaces extend themselves)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30998 (Crash when user error handler returns false)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #31098 (isset() / empty() incorrectly returns true in dereference of a wrong type)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #31102 (Exception not handled when thrown inside __autoload())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #31177 (memory corruption because of incorrect refcounting)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #31177 (Memory leak)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #31341 (escape on curly inconsistent)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #31525 (object reference being dropped. $this getting lost)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #31683 (changes to $name in __get($name) override future parameters)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #31720 (Invalid object callbacks not caught in array_walk())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #32226 (SEGV with exception handler on non existing instance)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #32252 (Segfault when offsetSet throws an Exception (only without debug))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #32290 (calling call_user_func_array() ends in infinite loop within child class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #32296 (get_class_methods output has changed between 5.0.2 and 5.0.3)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #32322 (Return values by reference broken( using self::),example singleton instance)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #32427 (Interfaces are not allowed 'static' access modifier)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #32428 (The @ warning error suppression operator is broken)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #32429 (method_exists() always return TRUE if __call method exists)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #32596 (Segfault/Memory Leak by getClass (etc) in __destruct)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #32660 (Assignment by reference causes crash when field access is overloaded (__get))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #32674 (exception in iterator causes crash)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #32799 (crash: calling the corresponding global var during the destruct)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #32833 (Invalid opcode with $a[] .= '')</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #32993 (implemented Iterator function current() don't throw exception)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33116 (crash when assigning class name to global variable in __autoload)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33171 (foreach enumerates private fields declared in base classes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33257 (array_splice() inconsistent when passed function instead of variable)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33277 (private method accessed by child class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33282 (Re-assignment by reference does not clear the is_ref flag)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33318 (throw 1; results in Invalid opcode 108/1/8)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33512 (unset() overloaded properties doesn't work)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33558 (warning with nested calls to functions returning by reference)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33710 (ArrayAccess objects doesn't initialize $this)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33732 (Wrong behavior of constants in class and interface extending)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33771 (error_reporting falls to 0 when @ was used inside try/catch block)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33802 (throw Exception in error handler causes crash)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33996 (No information given for fatal error on passing invalid value to typed argument)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33999 (object remains object when cast to int)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34045 (Buffer overflow with serialized object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34062 (Crash in catch block when many arguments are used)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34064 (arr[] as param to function in class gives invalid opcode)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34065 (throw in foreach causes memory leaks)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34137 (assigning array element by reference causes binary mess)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34199 (if($obj)/if(!$obj) inconsistency because of cast handler)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34260 (Segfault with callbacks (array_map) + overloading)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34310 (foreach($arr as $c->d => $x) crashes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34358 (Fatal error: Cannot re-assign $this(again))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34467 (foreach + __get + __set incosistency)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34518 (Unset doesn't separate container in CV)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34617 (zend_deactivate: objects_store used after zend_objects_store_destroy is called)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34678 (__call(), is_callable() and static methods)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34786 (2 @ results in change to error_reporting() to random value)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34873 (Segmentation Fault on foreach in object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34879 (str_replace, array_map corrupt negative array indexes on 64-bit platforms)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34893 (PHP5.1 overloading, Cannot access private property)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35017 (Exception thrown in error handler may cause unexpected behavior)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35106 (nested foreach fails when array variable has a reference)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35163 (Array elements can lose references)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35163.2 (Array elements can lose references)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35163.3 (Array elements can lose references)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35239 (Objects can lose references)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35393 (changing static protected members from outside the class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35411 (Regression with \{$ handling)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35437 (Segfault or Invalid Opcode 137/1/4)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35470 (Assigning global using variable name from array doesn't function)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35509 (string constant as array key has different behavior inside object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35634 (Erroneous "Class declarations may not be nested" error raised)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35655 (whitespace following end of heredoc is lost)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #36006 (Problem with $this in __destruct())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #36037 (heredoc adds extra line number)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #36071 (Engine Crash related with 'clone')</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #36214 (__get method works properly only when conditional operator is used)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #36268 (Object destructors called even after fatal errors)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #36303 (foreach on error_zval produces segfault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #36513 (comment will be outputed in last line)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #36568 (memory_limit has no effect)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #36759 (Objects destructors are invoked in wrong order when script is finished)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #37046 (foreach breaks static scope)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #37138 (__autoload tries to load callback'ed self and parent)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #37144 (PHP crashes trying to assign into property of dead object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #37212 (Access to protected property of common base class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #37251 (deadlock when custom error handler is to catch array type hint error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #37632 (Protected method access problem)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #37667 (Object is not added into array returned by __get)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #37707 (clone without assigning leaks memory)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #37715 (array pointers resetting on copy)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #37811 (define not using toString on objects)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38047 ("file" and "line" sometimes not set in backtrace from inside error handler)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38146 (Cannot use array returned from foo::__get('bar') in write context)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38211 (variable name and cookie name match breaks script execution)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38220 (Crash on some object operations)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38234 (Exception in __clone makes memory leak)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38287 (static variables mess up global vars)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38461 (setting private attribute with __set() produces segfault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38469 (Unexpected creation of cycle)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38623 (leaks in a tricky code with switch() and exceptions)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38624 (Strange warning when incrementing an object property and exception is thrown from __get method)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38772 (inconsistent overriding of methods in different visibility contexts)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38779 (engine crashes when require()'ing file with syntax error through userspace stream wrapper)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38779 (engine crashes when require()'ing file with syntax error through userspace stream wrapper)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38808 ("maybe ref" issue for current() and others)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38942 (Double old-style-ctor inheritance)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39003 (__autoload() is called for type hinting)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39017 (foreach(($obj = new myClass) as $v); echo $obj; segfaults)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39018 (Error control operator '@' fails to suppress "Uninitialized string offset")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39018 [2] (Error control operator '@' fails to suppress "Uninitialized string offset")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39036 (Unsetting key of foreach() yields segmentation fault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39127 (Old-style constructor fallbacks produce strange results)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39297 (Memory corryption because of indirect modification of overloaded array)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39304 (Segmentation fault with list unpacking of string offset)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39346 (Unsetting a static variable inside a destructor causes segfault later on)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39438 (Fatal error: Out of memory)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39445 (Calling debug_backtrace() in the __toString() function produces a crash)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39449 (Overloaded array properties do not work correctly)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39542 (Behaviour of require_once/include_once different to < 5.2.0)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39602 (Invalid session.save_handler crashes PHP)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39721 (Runtime inheritance causes data corruption)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39775 ("Indirect modification ..." message is not shown)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39825 (foreach produces memory error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39944 (References broken)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39990 (Cannot "foreach" over overloaded properties)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #40236 (php -a function allocation eats memory)</td><td>reason: Test doesn't support readline</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #40261 (Extremely slow data handling due to memory fragmentation)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #40509 (key() function changed behaviour if global array is used within function)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #40621 (Crash when constructor called inappropriately (statically))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #40705 (Iterating within function moves original array pointer)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #40757 (get_object_vars() get nothing in child class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #40770 (Apache child exits when PHP memory limit reached)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #40784 (Case sensivity in constructor's fallback)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #40809 (Poor performance of ".=")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #40815 (using strings like "class::func" and static methods in set_exception_handler() might result in crash).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #40833 (Crash when using unset() on an ArrayAccess object retrieved via __get)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #40899 (memory leak when nesting list())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41026 (segfault when calling "self::method()" in shutdown functions)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41075 (memleak when creating default object caused exception)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41117 (Altering $this via argument)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41209 (Segmentation fault with ArrayAccess, set_error_handler and undefined var)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41351 (Invalid opcode with foreach ($a[] as $b))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41351 (Invalid opcode with foreach ($a[] as $b)) - 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41351 (Invalid opcode with foreach ($a[] as $b)) - 3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41372 (Internal pointer of source array resets during array copying)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41401 (wrong precedence for unary minus)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41421 (Uncaught exception from a stream wrapper segfaults)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41633.1 (self:: doesn't work for constants)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41633.2 (Undefined class constants must not be substituted by strings)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41633.3 (Crash instantiating classes with self-referencing constants)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41633.4 (self:: doesn't work for constants)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41640 (get_class_vars produces error on class constants)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41813 (segmentation fault when using string offset as an object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41919 (crash in string to array conversion)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41929 (Foreach on object does not iterate over all visible properties)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41961 (Ensure search for hidden private methods does not stray from class hierarchy)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>bug #42143 (The constant NAN is reported as 0 on Windows build)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42211 (property_exists() fails to find protected properties from a parent class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42767 (highlight_string() truncates trailing comments)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42772 (Storing $this in a static var fails while handling a cast to string)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42798 (_autoload() not triggered for classes used in method signature)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42802 (Namespace not supported in types)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42817 (clone() on a non-object does not result in a fatal error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42818 ($foo = clone(array()); leaks memory)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42819 (namespaces in indexes of constant arrays)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42820 (defined() on constant with namespace prefixes tries to load class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42859 (import always conflicts with internal classes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42937 (__call() method not invoked when methods are called on parent from child class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43027 (Declare cause fatal error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43053 (Regression: some numbers shown in scientific notation)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43128 (Very long class name causes segfault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43175 (__destruct() throwing an exception with __call() causes segfault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43183 ("use" of the same class in difference scripts results in a fatal error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43200 (Interface implementation / inheritance not possible in abstract classes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43200.2 (Interface implementation / inheritance not possible in abstract classes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43201 (Crash on using uninitialized vals and __get/__set)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43323 (Wrong count abstract methods)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43332.1 (self and parent as type hint in namespace)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43332.2 (self and parent as type hint in namespace)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43343 (Variable class name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43344.1 (Wrong error message for undefined namespace constant)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43344.10 (Wrong error message for undefined namespace constant)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43344.11 (Wrong error message for undefined namespace constant)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43344.12 (Wrong error message for undefined namespace constant)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43344.13 (Wrong error message for undefined namespace constant)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43344.2 (Wrong error message for undefined namespace constant)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43344.3 (Wrong error message for undefined namespace constant)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43344.4 (Wrong error message for undefined namespace constant)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43344.5 (Wrong error message for undefined namespace constant)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43344.6 (Wrong error message for undefined namespace constant)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43344.7 (Wrong error message for undefined namespace constant)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43344.8 (Wrong error message for undefined namespace constant)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43344.9 (Wrong error message for undefined namespace constant)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43426 (crash on nested call_user_func calls)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43450 (Memory leak on some functions with implicit object __toString() call)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43483 (get_class_methods() does not list all visible methods)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43651 (is_callable() with one or more nonconsecutive colons crashes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43703 (Signature compatibility check broken)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43851 (Memory corrution on reuse of assigned value)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43918 (Segmentation fault in garbage collector)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44069 (Huge memory usage with concatenation using . instead of .=)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44141 (private parent constructor callable through static function)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44184 (Double free of loop-variable on exception)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44414 (incomplete reporting about abstract methods)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44653 (Invalid namespace name resolution)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44660 (Indexed and reference assignment to property of non-object don't trigger warning)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44827 (define() allows :: in constant names)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44830 (Very minor issue with backslash in heredoc)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44899 (__isset usage changes behavior of empty())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44899 (__isset usage changes behavior of empty()) - 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44913 (Segfault when using return in combination with nested loops and continue 2)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45147 (unexpected T_ENDFOR)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing callback formats within class method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45186 (__call depends on __callstatic in class scope)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45186.2 (__call depends on __callstatic in class scope)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45742 Wrong class array inpretetion using constant indexes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45744 (Case sensitive callback behaviour)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45805 (Crash on throwing exception from error handler)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45862 (get_class_vars is inconsistent with 'protected' and 'private' variables)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45877 (Array key '2147483647' left as string)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45910 (Cannot declare self-referencing constant)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45910.2 (Cannot declare self-referencing constant)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46106 (Memory leaks when using global statement)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test restore_error_handler() function : bug #46196</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46238 (Segmentation fault on static call with empty string method)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46241 (error handler stacks)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46246 (difference between call_user_func(array($this, $method)) and $this->$method())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46304 (defining namespaced constant using define())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46308 (Invalid write when changing property from inside getter)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46381 (wrong $this passed to internal methods causes segfault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46409 (__invoke method called outside of object context when using array_map)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46665 (Triggering autoload with a variable classname causes truncated autoload param)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #46701 (Creating associative array with long values in the key fails on 32bit linux)</td><td>reason: this test is for 32bit platforms only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ini_set() function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46813: class_exists doesn`t work with fully qualified namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47054 (BC break in static functions called as dynamic)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47109 (Memory leak on $a->{"a"."b"} when $a is not an object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47165 (Possible memory corruption when passing return value by reference)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47320 ($php_errormsg out of scope in functions)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47343 (gc_collect_cycles causes a segfault when called within a destructor in one case)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47353 (crash when creating a lot of objects in object destructor)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47516 (nowdoc can not be embed in heredoc but can be embed in double quote)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47572 (zval_update_constant_ex: Segmentation fault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47593 (interface_exists() returns false when using absolute namespace path)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47596 (Bus error on parsing file, when file size is equal to page size)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47699 (autoload and late static binding)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47704 (crashes on some "bad" operations with string offsets)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing lambda function in set_exception_handler()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47771 (Exception during object construction from arg call calls object's destructor)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47801 (__call() accessed via parent:: operator is provided incorrect method name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47836 (array operator [] inconsistency when the array has PHP_INT_MAX index value)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47880 (crashes in call_user_func_array())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47981 (error handler not called regardless)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48004 (Error handler prevents creation of default object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48215 - parent::method() calls __construct</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48215 - parent::method() calls __construct, case sensitive test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48228 (crash when exception is thrown while passing function arguments)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48248 (SIGSEGV when access to private property via &__get)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48408 (crash when exception is thrown while passing function arguments)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48409 (crash when exception is thrown while passing function arguments)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48428 (crash when exception is thrown while passing function arguments)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48533 (__callStatic is not invoked for private/protected methods)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48667 (Implementing both iterator and iteratoraggregate)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48667 (Implementing both iterator and iteratoraggregate)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48693 (Double declaration of __lambda_func when lambda wrongly formatted)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>Bug #48770 (call_user_func_array() fails to call parent from inheriting class)</td><td> XFAIL REASON: See Bug #48770</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>Bug #48770 (call_user_func_array() fails to call parent from inheriting class)</td><td> XFAIL REASON: See Bug #48770</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>Bug #48770 (call_user_func_array() fails to call parent from inheriting class)</td><td> XFAIL REASON: See Bug #48770</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48899 (is_callable returns true even if method does not exist in parent class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48912 (Namespace causes unexpected strict behaviour with extract())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48930 (__COMPILER_HALT_OFFSET__ incorrect in PHP>=5.3)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #49269 (Ternary operator fails on Iterator object when used inside foreach declaration).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #49472 (Constants defined in Interfaces can be overridden)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #49866 (Making reference on string offsets crashes PHP)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #49893 (Crash while creating an instance of Zend_Mail_Storage_Pop3)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #49908 (throwing exception in __autoload crashes when interface is not defined)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #50005 (Throwing through Reflection modified Exception object makes segmentation fault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #50146 (property_exists: Closure object cannot have properties)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #50174 (Incorrectly matched docComment)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #50255 (isset() and empty() silently casts array to object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #50261 (Crash When Calling Parent Constructor with call_user_func())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #50383 (Exceptions thrown in __call / __callStatic do not include file and line in trace)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #50394: Reference argument converted to value in __call</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #50810 (property_exists does not work for private)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #50816 (Using class constants in array definition fails)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #51176 (Static calling in non-static method behaves like $this->)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #51394 (Error line reported incorrectly if error handler throws an exception)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #51421 (Abstract __construct constructor argument list not enforced)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #51791 (constant() failed to check undefined constant and php interpreter stopped)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #51822 (Segfault with strange __destruct() for static class variables)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #51827 (Bad warning when register_shutdown_function called with wrong num of parameters)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52001 (Memory allocation problems after using variable variables)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52041 (Memory leak when writing on uninitialized variable returned from function)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52051 (handling of case sensitivity of old-style constructors changed in 5.3+)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52060 (Memory leak when passing a closure to method_exists())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52160 (Invalid E_DEPRECATED redefined constructor error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52193 (converting closure to array yields empty array)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52237 (Crash when passing the reference of the property of a non-object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52355 (Negating zero does not produce negative zero)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52361 (Throwing an exception in a destructor causes invalid catching)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52484 (__set() ignores setting properties with empty names)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52484.2 (__set() ignores setting properties with empty names)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52484.3 (__set() ignores setting properties with empty names)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52508 (newline problem with parse_ini_file+INI_SCANNER_RAW)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52614 (Memory leak when writing on uninitialized variable returned from method call)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52879 (Objects unreferenced in __get, __set, __isset or __unset can be freed too early)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52939 (zend_call_function_array does not respect ZEND_SEND_PREFER_REF)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52940 (call_user_func_array still allows call-time pass-by-reference)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53305 (E_NOTICE when defining a constant starts with __COMPILER_HALT_OFFSET__)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53347 Segfault accessing static method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53432: Assignment via string index access on an empty string converts to array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53511 (Exceptions are lost in case an exception is thrown in catch operator)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53629 (memory leak inside highlight_string())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>zend_strtod() hangs with 2.2250738585072011e-308</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53727 (Inconsistent behavior of is_subclass_of with interfaces)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53748 (Using traits lead to a segmentation fault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53958 (Closures can't 'use' shared variables by value and by reference)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53971 (isset() and empty() produce apparently spurious runtime error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54013 (ReflectionParam for duplicate parameter contains garbage) (PHP7)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54039 (use() of static variables in lambda functions can break staticness)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54043: Remove inconsitency of internal exceptions and user defined exceptions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54262 (Crash when assigning value to a dimension in a non-array)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54265 (crash when variable gets reassigned in error handler)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54268 (Double free when destroy_zend_class fails)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54305 (Crash in gc_remove_zval_from_buffer)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54358 (Closure, use and reference)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54367 (Use of closure causes problem in ArrayAccess)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54372 (Crash accessing global object itself returned from its __get() handle)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54547: wrong equality of string numbers near LONG_MAX with 64-bit longs</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54585 (track_errors causes segfault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54624 (class_alias and type hint)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54804 (__halt_compiler and imported namespaces)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54910 (Crash when calling call_user_func with unknown function name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55007 (compiler fail after previous fail)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55086 (Namespace alias does not work inside trait's use block)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55135 (Array keys are no longer type casted in unset())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55156 (ReflectionClass::getDocComment() returns comment even though the class has none)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Request #55247 (Parser problem with static calls using string method name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55305 (ref lost: 1st ref instantiated in class def, 2nd ref made w/o instantiating)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55445 (Lexer error with short open tags)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55509 (segfault on x86_64 using more than 2G memory)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55578 (Segfault on implode/concat)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55705 (Omitting a callable typehinted argument causes a segfault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55825 (Missing initial value of static locals in trait methods)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60099 (__halt_compiler() works in braced namespaces)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60138 (GC crash with referenced array in RecursiveArrayIterator)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60139 (Anonymous functions create cycles not detected by the GC)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60161: Implementing an interface extending Traversable is order dependent</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60169 (Conjunction of ternary and list crashes PHP)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60350 No string escape code for ESC (ascii 27), normally \e</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60362: non-existent sub-sub keys should not have values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60444 (Segmentation fault with include & class extending)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60536 (Traits Segfault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>The same rules are applied for properties that are defined in the class hierarchy. Thus, if the properties are compatible, a notice is issued, if not a fatal error occures. (relevant with #60536)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Properties should be initialized correctly (relevant to #60536)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Introducing new private variables of the same name in a subclass is ok, and does not lead to any output. That is consitent with normal inheritance handling. (relevant to #60536)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Introducing new private variables of the same name in a subclass is ok, and does not lead to any output. That is consitent with normal inheritance handling. (relevant to #60536)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60569 (Nullbyte truncates Exception $message.)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60573 (type hinting with "self" keyword causes weird errors)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60598 (cli/apache sapi segfault on objects manipulation)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60611 (Segmentation fault with Cls::{expr}() syntax)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60613 (Segmentation fault with $cls->{expr}() syntax)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60738 Allow 'set_error_handler' to handle NULL</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60738 Allow 'set_error_handler' to handle NULL</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>test of larger than 8kb text file being parsed by require statement</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60825 (Segfault when running symfony 2 tests) (PHP7)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60833 (self, parent, static behave inconsistently case-sensitive)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60909 (custom error handler throwing Exception + fatal error = no shutdown function).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60909 (custom error handler throwing Exception + fatal error = no shutdown function).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60978 (exit code incorrect)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61011 (Crash when an exception is thrown by __autoload accessing a static property)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61025 (__invoke() visibility not honored)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61087 (Memory leak in parse_ini_file when specifying invalid scanner mode)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61095 (Lexing 0x00*+<NUM> incorectly)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61165 (Segfault - strip_tags())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61225 (Lexing 0b0*+<NUM> incorectly)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61273 (call_user_func_array with more than 16333 arguments leaks / crashes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61362 (Exception::getTraceAsString, Exception::__toString not able to handle unicode)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61681: Malformed grammar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61761 ('Overriding' a private static method with a different signature causes crash)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61767 (Shutdown functions not called in certain error situation)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61782 (__clone/__destruct do not match other methods when checking access controls)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61970 (Restraining __construct() access level in subclass gives a fatal error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61970 (Restraining __construct() access level in subclass gives a fatal error - stays when implementing abstract)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61970 (Restraining __construct() access level in subclass gives a fatal error - stays when inheriting implemented abstract)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62005 (unexpected behavior when incrementally assigning to a member of a null object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #62097: fix for bug #54547 is wrong for 32-bit machines</td><td>reason: for system with 32-bit wide longs only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62343 (Show class_alias In get_declared_classes())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62358 (Segfault when using traits a lot)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62441: Incorrect strong typing in namespaced child classes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62653: unset($array[$float]) causes a crash</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62680 (Function isset() throws fatal error on set array if non-existent key depth >= 3)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62763 (register_shutdown_function and extending class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62814: It is possible to stiffen child class members visibility</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62892 (ReflectionClass::getTraitAliases crashes on importing trait methods as private)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62907 (Double free when use traits)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62956: "incompatible" signatures for private methods should not cause E_WARNING</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62991 (Segfault with generator and closure)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63055 (Segfault in zend_gc with SF2 testsuite)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63111 (is_callable() lies for abstract static method)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63173: Crash when invoking invalid array callback</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63206 Fully support error_handler stacking, even inside the error_handler</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63206 Fully support error_handler stacking, even with null</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63206 Fully support exception_handler stacking, even with null</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63217 (Constant numeric strings become integers when used as ArrayAccess offset)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63219 (Segfault when aliasing trait method when autoloader throws excpetion)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63305 (zend_mm_heap corrupted with traits)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63336 (invalid E_NOTICE error occur)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test script to verify that magic methods should be called only once when accessing an unset property.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63468 (wrong called method as callback with inheritance)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63635 (Segfault in gc_collect_cycles)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63734 (Garbage collector can free zvals that are still referenced)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63741 (Crash when autoloading from spl)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63762 - Sigsegv when Exception::$trace is changed by user</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63816: implementation child interface and after parent cause fatal error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63882 (zend_std_compare_objects crash on recursion)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63976 (Parent class incorrectly using child constant in class property)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63982 (isset() inconsistently produces a fatal error on protected property)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64135 (Exceptions from set_error_handler are not always propagated)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64239 (get_class_methods() changed behavior)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64239 (debug_backtrace() changed behavior)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64239 (debug_print_backtrace() changed behavior)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64239 (debug_print_backtrace() changed behavior)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64354 (Unserialize array of objects whose class can't be autoloaded fail)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64417 (BC break: ArrayAccess::&offsetGet() in a trait causes fatal error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64515 (Memoryleak when using the same variablename 2times in function declaration) (PHP7)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64555: Array key within interned string gets wrong hash value</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64578 (debug_backtrace in set_error_handler corrupts zend heap: segfault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64660 (Segfault on memory exhaustion within function definition)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64677 (execution operator `` stealing surrounding arguments)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64720 (SegFault on zend_deactivate)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64821 Custom Exceptions crash when internal properties overridden (variation 1)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64821 Custom Exceptions crash when internal properties overridden (variation 2)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64821 Custom Exceptions crash when internal properties overridden (variation 3)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64896 (Segfault with gc_collect_cycles using unserialize on certain objects)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64960 (Segfault in gc_zval_possible_root)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64966 (segfault in zend_do_fcall_common_helper_SPEC)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64979 (Wrong behavior of static variables in closure generators)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64988 (Class loading order affects E_WARNING warning)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65051: count() off by one inside unset()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65108 (is_callable() triggers Fatal Error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65254 (Exception not catchable when exception thrown in autoload with a namespace)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65291 - get_defined_constants() causes PHP to crash in a very limited case.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65322: compile time errors won't trigger auto loading</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65372 (Segfault in gc_zval_possible_root when return reference fails)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65419 (Inside trait, self::class != __CLASS__)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65579 (Using traits with get_class_methods causes segfault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Fixed Bug #65784 (Segfault with finally)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65911 (scope resolution operator - strange behavior with $this)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65969 (Chain assignment with T_LIST failure)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66015 (wrong array indexing in class's static property)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66218 zend_register_functions breaks reflection</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66252 (Problems in AST evaluation invalidating valid parent:: reference)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66286: Incorrect object comparison with inheritance</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66608 (Incorrect behavior with nested "finally" blocks)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66609 (php crashes with __get() and ++ operator in some cases)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66660 (Composer.phar install/update fails)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66811: Cannot access static::class in lambda, written outside of a class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67111: Memory leak when using "continue 2" inside two foreach loops</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67169: array_splice all elements, then []= gives wrong index</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67314 (Segmentation fault in gc_remove_zval_from_buffer)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67368 (Memory leak with immediately dereferenced array in class constant)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>bug67436: Autoloader isn't called if user defined error handler is present</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>bug67436: E_WARNING instead of custom error handler</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67633: A foreach on an array returned from a function not doing copy-on-write</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67856 (Leak when using array_reduce with by-ref function)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67858: Leak when $php_errormsg already set</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67874 Crash in array_map()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67922: Member function not found when dereferencing in write-context</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67938: Segfault when extending interface method with variadic</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67985 - Last used array index not copied to new array at assignment</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68118: $a->foo .= 'test'; can leave $a->foo undefined</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68148: $this is null inside include</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68162: isset($$varname) always true</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68163: Using reference as object property name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68191: Broken reference across objects</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68215 (Behavior of foreach has changed)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68262: Broken reference across cloned objects</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68370 "unset($this)" can make the program crash</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #68412 (Infinite recursion with __call can make the program crash/segfault)</td><td>reason: Need Zend MM enabled</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68446 (Array constant not accepted for array parameter default)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68475 Calling function using $callable() syntax with strings of form 'Class::method'</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68652 (segmentation fault in destructor)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68775: yield in a function argument crashes or loops indefinitely</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68797 Number 2.2250738585072012e-308 converted incorrectly</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68887 (resources are not freed correctly)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68896 (Changing ArrayObject value cause Segment Fault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>#69017 (Fail to push to the empty array with the constant value defined in class scope)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69025 (Invalid read of size 4 when calling __callStatic)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69092-2 (Declare Encoding Compile Check Wrong) - multibyte off</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69092 (Declare Encoding Compile Check Wrong)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug 69124: Method name must be as string (invalid error message when using reference to a string)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69167 (call_user_func does not support references anymore)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69174 (leaks when unused inner class use traits precedence)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69201 (Memory leak using iterator and get by reference on PHP 7)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69212: Leaking VIA_HANDLER func when exception thrown in __call/... arg passing</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69221: Segmentation fault when using a generator in combination with an Iterator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69221: Segmentation fault when using a generator in combination with an Iterator (2)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69315 (disable_functions behaviors inconsistently)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69376 (Wrong ref counting)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69376 (Wrong ref counting)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69388: Use after free on recursive calls to PHP compiler</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69388 - Variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69420 (Invalid read in zend_std_get_method)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69427 (Segfault on magic method __call of private method in superclass)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69446 (GC leak relating to removal of nested data after dtors run)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69446 (GC leak relating to removal of nested data after dtors run)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69467 (Wrong checked for the interface by using Trait)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69532: array_multisort is chocking when using it's own constants</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69534 (Cycle leaks through declared properties on internal classes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69537 (__debugInfo with empty string for key gives error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69551 - parse_ini_file() and parse_ini_string() segmentation fault</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69568: call a private function in closure failed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69599: Strange generator+exception+variadic crash</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69640 Unhandled Error thrown from userland do not produce any output</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69676: Resolution of self::FOO in class constants not correct</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69676: Resolution of self::FOO in class constants not correct (variation)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69676: Resolution of self::FOO in class constants not correct (variation)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69732 (can induce segmentation fault with basic php code)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69740: finally in generator (yield) swallows exception in iteration</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69754 (Use of ::class inside array causes compile error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69755: segfault in ZEND_CONCAT_SPEC_TMPVAR_CONST_HANDLER</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Fixed bug #69756 (Fatal error: Nesting level too deep - recursive dependency? with ===).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69758 (Item added to array not being removed by array_pop/shift)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69761 (Serialization of anonymous classes should be prevented)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69767 (Default parameter value with wrong type segfaults)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69788: Malformed script causes Uncaught Error in php-cgi, valgrind SIGILL</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69802 (Reflection on Closure::__invoke borks type hint class name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69805 (null ptr deref and seg fault in zend_resolve_class_name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69825 (Short-circuiting failure)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69832 (Assertion failed in zend_compile_const_expr_magic_const)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69871 (Short-circuiting failure with smart_branch)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69889: Null coalesce operator doesn't work for string offsets</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69891: Unexpected array comparison result</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69892: Different arrays compare identical due to integer key truncation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69893: Strict comparison between integer and empty string keys crashes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69905 (null ptr deref and segfault in ZEND_FETCH_DIM_RW_SPEC_VAR_UNUSED_HANDLER)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69955 (Segfault when trying to combine [] and assign-op on ArrayAccess object).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69957 (Different ways of handling div/mod by zero)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69989: Cycle collection for yielded values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Collection of some cycles on unfinished generators</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generator cycle collection edge cases</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69996 (Changing the property of a cloned object affects the original)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70012 (Exception lost with nested finally block)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70083 (Use after free with assign by ref to overloaded objects)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70089 (segfault in PHP 7 at ZEND_FETCH_DIM_W_SPEC_VAR_CONST_HANDLER ())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70117 (Unexpected return type error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70121 (unserialize() could lead to unexpected methods execution / NULL pointer deref)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70124 (null ptr deref / seg fault in ZEND_HANDLE_EXCEPTION_SPEC_HANDLER)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70156 (Segfault in zend_find_alias_name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>__COMPILER_HALT_OFFSET__ is a "magic" constant, which should work if referenced directly, even in a namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #70173 (ZVAL_COPY_VALUE_EX broken for 32bit Solaris Sparc)</td><td>reason: this test is for 32bit platforms only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70179 ($this refcount issue)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70182 ($string[] assignment with +=)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70183 (null pointer deref (segfault) in zend_eval_const_expr)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70187 (Notice: unserialize(): Unexpected end of serialized data)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70187 (Notice: unserialize(): Unexpected end of serialized data)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70215 (Segfault when invoke is static)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70223 (Incrementing value returned by magic getter)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70240 (Segfault when doing unset($var()))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70241 (Skipped assertions affect Generator returns)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70253 (segfault at _efree () in zend_alloc.c:1389)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70258 (Segfault if do_resize fails to allocated memory)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70262 (Accessing array crashes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70288 (Apache crash related to ZEND_SEND_REF)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Crash with specific assertions and zend.assertions=-1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>bug #70321 (Magic getter breaks reference to array property)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70332 (Wrong behavior while returning reference on object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70397 (Segmentation fault when using Closure::call and yield)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70398 (SIGSEGV, Segmentation fault zend_ast_destroy_ex)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70430: Stack buffer overflow in zend_language_parser()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70478 (**= does no longer work)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70547 (unsetting function variables corrupts backtrace)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70630 (Closure::call/bind() crash with ReflectionFunction->getClosure())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70662: Duplicate array key via undefined index error handler</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70681: Segfault when binding $this of internal instance method to null</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70685: Segfault for getClosure() internal method rebind with invalid $this</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70689 (Exception handler does not work as expected)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70748 (Segfault in ini_lex () at Zend/zend_ini_scanner.l)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70782: null ptr deref and segfault (zend_get_class_fetch_type)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70785 (Infinite loop due to exception during identical comparison)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70804 (Unary add on negative zero produces positive zero)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70805 (Segmentation faults whilst running Drupal 8 test suite)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70805 (Segmentation faults whilst running Drupal 8 test suite) (Crash)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70805 (Segmentation faults whilst running Drupal 8 test suite) (Memleak)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70873 (Regression on private static properties access)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70895 null ptr deref and segfault with crafted callable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70895 null ptr deref and segfault with crafted callable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70912 (Null ptr dereference when class property is initialised to a dereferenced value)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70914 zend_throw_or_error() format string vulnerability</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70918 (Segfault using static outside of class scope)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70944 (try{ } finally{} can create infinite chains of exceptions)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70957 (self::class can not be resolved with reflection for abstract class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70958 (Invalid opcode while using ::class as trait method parameter default value)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70967 (Weird error handling for __toString when Error is thrown)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70987 (static::class within Closure::call() causes segfault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70997 (When using parentClass:: instead of parent::, static context changed)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71030: Self-assignment in list() may have inconsistent behavior</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71067 (Local object in class method stays in memory for each call)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71086: Invalid numeric literal parse error within highlight_string() function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71154: Incorrect HT iterator invalidation causes iterator reuse</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71163 (Segmentation Fault (cleanup_unfinished_calls))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71196 (Memory leak with out-of-order live ranges)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71221 (Null pointer deref (segfault) in get_defined_vars via ob_start)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71248 (Wrong interface is enforced)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71266 (Missing separation of properties HT in foreach etc)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71275 (Bad method called on cloning an object having a trait)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71300 (Segfault in zend_fetch_string_offset)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71336 (Wrong is_ref on properties as exposed via get_object_vars())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71359: Null coalescing operator and magic</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71414 (Interface method override inherited method and implemented in a trait causes fatal error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>bug #71428.1: inheritance with null default values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>bug #71428.2: inheritance of ye olde dynamic interfaces</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>bug #71428: Validation type inheritance with = NULL</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71470: Leaked 1 hashtable iterators</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71474: Crash because of VM stack corruption on Magento2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71529: Variable references on array elements don't work when using count</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71539 (Memory error on $arr[$a] =& $arr[$b] if RHS rehashes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71539.1 (Memory error on $arr[$a] =& $arr[$b] if RHS rehashes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71539.2 (Memory error on $arr[$a] =& $arr[$b] if RHS rehashes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71539.3 (Memory error on $arr[$a] =& $arr[$b] if RHS rehashes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71539.4 (Memory error on $arr[$a] =& $arr[$b] if RHS rehashes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71539.5 (Memory error on $arr[$a] =& $arr[$b] if RHS rehashes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71539.5 (Memory error on $arr[$a] =& $arr[$b] if RHS rehashes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71572: String offset assignment from an empty string inserts null byte</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71622 (Strings used in pass-as-reference cannot be used to invoke C::$callable())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71695 (Global variables are reserved before execution)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71724: yield from does not count EOLs</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71731: Null coalescing operator and ArrayAccess</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71737: Memory leak in closure with parameter named $this</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71756 (Call-by-reference widens scope to uninvolved functions when used in switch)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71818 (Memory leak when array altered in destructor)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71841 (EG(error_zval) is not handled well)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71859 (zend_objects_store_call_destructors operates on realloced memory, crashing)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71871: Interfaces allow final and abstract functions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71871: Interfaces allow final and abstract functions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71914 (Reference is lost in "switch")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71922: Crash on assert(new class{});</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71930 (_zval_dtor_func: Assertion `(arr)->gc.refcount <= 1' failed)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71980: Decorated/Nested Generator is Uncloseable in Finally</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72038 (Function calls with values to a by-ref parameter don't always throw a notice)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72057 (PHP hangs when user error handler throws exception after Notice from type coercion)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72101 (crash on complex code)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72107: Segfault when using func_get_args as error handler</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72119 (Interface declaration compatibility regression with default values)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72162 (use-after-free - error_reporting)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72177 Scope issue in __destruct after ReflectionProperty::setValue()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72177 Scope issue in __destruct after ReflectionProperty::setValue()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72188 (Nested try/finally blocks losing return value)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72215 (Wrong return value if var modified in finally)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72215.1 (Wrong return value if var modified in finally)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72215.1 (Wrong return value if var modified in finally)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72215.3 (Wrong return value if var modified in finally)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72216 (Return by reference with finally is not memory safe)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Misoptimize due to type narrowing</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72347 (VERIFY_RETURN type casts visible in finally)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72373: TypeError after Generator function w/declared return type finishes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72395 (list() regression)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72441 (Segmentation fault: RFC list_keys)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72496 (declare public method with signature incompatible with parent private method should not throw a warning)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72508 (strange references after recursive function call and "switch" statement)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72530: Use After Free in GC with Certain Destructors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72543 (different references behavior comparing to PHP 5)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72543.1 (different references behavior comparing to PHP 5)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72543.2 (different references behavior comparing to PHP 5)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72543.3 (different references behavior comparing to PHP 5)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72543.4 (different references behavior comparing to PHP 5)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72543.5 (different references behavior comparing to PHP 5)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72581 (previous property undefined in Exception after deserialization)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72594 (Calling an earlier instance of an included anonymous class fatals)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72598 (Reference is lost after array_slice())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72598.2 (Reference is lost after array_slice())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72767: PHP Segfaults when trying to expand an infinite operator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72813 (Segfault with __get returned by ref)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72854: PHP Crashes on duplicate destructor call</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72911 (Memleak in zend_binary_assign_op_obj_helper)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72918 (negative offset inside a quoted string leads to parse error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72943 (assign_dim on string doesn't reset hval)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72944 (Null pointer deref in zval_delref_p).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73156 (segfault on undefined function)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73163 (PHP hangs if error handler throws while accessing undef const in default value)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73181: parse_str() without a second argument leads to crash</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73288 (Segfault in __clone > Exception.toString > __get)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73337 (try/catch not working with two exceptions inside a same operation)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73338: Ensure exceptions in function init opcodes are cleaned properly</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73350 (Exception::__toString() cause circular references)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73663 ("Invalid opcode 65/16/8" occurs with a variable created with list())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73663.2 ("Invalid opcode 65/16/8" occurs with a variable created with list())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73753 Non packed arrays and duplication</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73792 (invalid foreach loop hangs script)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73816: Broken eval(anonymous class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73900: Use After Free in unserialize() SplFixedArray</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73916 (zend_print_flat_zval_r doesn't consider reference)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73954 (NAN check fails on Alpine Linux with musl)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73960: Leak with instance method calling static method with referenced return</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73987 (Method compatibility check looks to original definition and not parent - nullability interface)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73987 (Method compatibility check looks to original definition and not parent - return types interface)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73987 (Method compatibility check looks to original definition and not parent - nullabilty abstract)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73987 (Method compatibility check looks to original definition and not parent - return types abstract)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73989 (PHP 7.1 Segfaults within Symfony test suite)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73998 (array_key_exists fails on arrays created by get_object_vars)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74053 (Corrupted class entries on shutdown when a destructor spawns another object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74084 (Out of bound read - zend_mm_alloc_small)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #74093 (Maximum execution time of n+2 seconds exceed not written in error_log)</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74164 (PHP hangs when an invalid value is dynamically passed to typehinted by-ref arg)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74269: It's possible to override trait property with different loosely-equal value</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74340: Magic function __get has different behavior in php 7.1.x</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74408 (Endless loop bypassing execution time limit)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74546 (SIGILL in ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST_HANDLER())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74603 (PHP INI Parsing Stack Buffer Overflow Vulnerability)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74657 (Undefined constants in array properties result in broken properties)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74810: Something odd about ordering of func_get_args() result in 7.2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74836 (isset on zero-prefixed numeric indexes in array broken)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74840: Opcache overwrites argument of GENERATOR_RETURN within finally</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74862 (Unable to clone instance when private __clone defined)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74862 (Unable to clone instance when private __clone defined in a child class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74947 (Segfault in scanner on INF number)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75079: self keyword leads to incorrectly generated TypeError when in closure in trait</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75079 variation without traits</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75218: Change remaining uncatchable fatal errors for parsing into ParseError</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75241 (Null pointer dereference in zend_mm_alloc_small())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75252: Incorrect token formatting on two parse errors in one request</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75290 (debug info of Closures of internal functions contain garbage argument names)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75420.1 (Indirect modification of magic method argument)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75420.10 (Indirect modification of magic method argument)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75420.11 (Indirect modification of magic method argument)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75420.12 (Indirect modification of magic method argument)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75420.13 (Indirect modification of magic method argument)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75420.14 (Indirect modification of magic method argument)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75420.15 (Indirect modification of magic method argument)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75420.16 (Indirect modification of magic method argument)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75420.2 (Indirect modification of magic method argument)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75420.3 (Indirect modification of magic method argument)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75420.4 (Indirect modification of magic method argument)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75420.5 (Indirect modification of magic method argument)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75420.6 (Indirect modification of magic method argument)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75420.7 (Indirect modification of magic method argument)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75420.8 (Indirect modification of magic method argument)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75420.9 (Indirect modification of magic method argument)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75420 (Crash when modifying property name in __isset for BP_VAR_IS)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75426: "Cannot use empty array elements" reports wrong position</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75573 (Segmentation fault in 7.1.12 and 7.0.26)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75786: segfault when using spread operator on generator passed by reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75921: Inconsistent error when creating stdObject from empty variable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76025 (Segfault while throwing exception in error_handler)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76047: Use-after-free when accessing already destructed backtrace arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76383: array_map on $GLOBALS returns IS_INDIRECT</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76430: __METHOD__ inconsistent outside of method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76439: Don't always strip leading whitespace from heredoc T_ENCAPSED_AND_WHITESPACE tokens</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76439: Don't always strip leading whitespace from heredoc T_ENCAPSED_AND_WHITESPACE tokens (error case)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76451: Aliases during inheritance type checks affected by opcache</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76451: Aliases during inheritance type checks affected by opcache (variation)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76502: Chain of mixed exceptions and errors does not serialize properly</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76534 (PHP hangs on 'illegal string offset on string references with an error handler)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76667 (Segfault with divide-assign op and __get + __set)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76752 (Crash in ZEND_COALESCE_SPEC_TMP_HANDLER - assertion in _get_zval_ptr_tmp failed)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76754 (parent private constant in extends class memory leak)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76800 (foreach inconsistent if array modified during loop)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76846: Segfault in shutdown function after memory limit error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76860 (Missed "Accessing static property as non static" warning)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76860 (Missed "Accessing static property as non static" warning)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76869 (Incorrect bypassing protected method accessibilty check)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76901: method_exists on SPL iterator passthrough method corrupts memory</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76946: Cyclic reference in generator not detected</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76965 (INI_SCANNER_RAW doesn't strip trailing whitespace)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77291 (magic methods inherited from a trait may be ignored)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77339 (__callStatic may get incorrect arguments)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77345 (Segmentation faults stack overflow in cyclic garbage collector) (Bug #77427)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77345 (Segmentation faults stack overflow in cyclic garbage collector) (Bug #77427)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77376 ("undefined function" message no longer includes namespace)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77494 (Disabling class causes segfault on member access)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77530: PHP crashes when parsing '(2)::class'</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>BUG #77589 (Core dump using parse_ini_string with numeric sections)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77613 (method visibility change)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77652: Anonymous classes can lose their interface information</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77660 (Segmentation fault on break 2147483648)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77738 (Nullptr deref in zend_compile_expr)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77877 call_user_func() passes $this to static methods</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77922: Double release of doc comment on inherited shadow property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77993 (Wrong parse error for invalid hex literal on Windows)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78010: Segmentation fault during GC</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78151 Segfault caused by indirect expressions in PHP 7.4a1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78154: SEND_VAR_NO_REF does not always send reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78182: Segmentation fault during by-reference property assignment</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78239: Deprecation notice during string conversion converted to exception hangs</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78271: Invalid result of if-else</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78335: Static properties/variables containing cycles report as leak</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #78335: Static properties containing cycles report as leak (internal class variant)</td><td>reason: requires zend-test</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78340: Include of stream wrapper not reading whole file</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78344: Segmentation fault on zend_check_protected</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78356: Array returned from ArrayAccess is incorrectly unpacked as argument</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78363: Buffer overflow in zendparse</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78379 (Cast to object confuses GC, causes crash)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78379.2 (Cast to object confuses GC, causes crash)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78396: Second file_put_contents in Shutdown hangs script</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78406: Broken file includes with user-defined stream filters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Invalid consecutive numeric separators after hex literal</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Invalid consecutive numeric separators after binary literal</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78502: Incorrect stack size calculation for indirectly recursive function call</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78531 (Crash when using undefined variable as object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78589: Memory leak with GC + __destruct()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78644: SEGFAULT in ZEND_UNSET_OBJ_SPEC_VAR_CONST_HANDLER</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78658: Memory corruption using Closure::bindTo()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78689: Closure::fromCallable() doesn't handle [Closure, '__invoke']</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78752: Segfault if GC triggered while generator stack frame is being destroyed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78776: Abstract method implementation from trait does not check "static"</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78787: Segfault with trait overriding inherited private shadow property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78810: RW fetches do not throw "uninitialized property" exception</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78868: Calling __autoload() with incorrect EG(fake_scope) value</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78898: call_user_func(['parent', ...]) fails while other succeed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78921: When Reflection triggers class load, property visibility is incorrect</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78926: Segmentation fault on Symfony cache:clear</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78973: Destructor during CV freeing causes segfault if opline never saved</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78999 (Cycle leak when using function result as temporary)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79022 (class_exists returns True for classes that are not ready to be used)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79155: Property nullability lost when using multiple property definition</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79364 (When copy empty array, next key is unspecified)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79477: casting object into array creates references</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79514 (Memory leaks while including unexistent file)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79599 (coredump in set_error_handler)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug - crash in debug_backtrace when trace starts in eval</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cannot use built-in functions in write context (assignment)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cannot use built-in functions in write context (reference)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bitwise or assign with referenced value</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>__callStatic() Magic method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __call and __callstatic with callbacks</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing method name case</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Invalid method name in dynamic static call</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __callStatic</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __call and __callstatic</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Check that arguments are freed when a call to an abstract method throws</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Check that arguments are freed when calling a deprecated function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing call_user_func inside namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing call_user_func() with autoload and passing invalid params</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing call_user_func() with closures</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Calling non-static method with call_user_func()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Passing Closure as parameter to an non-existent function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>call_user_func() should error on reference arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>call_user_func() should not use FUNC_ARG fetches</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>call_user_func() behavior with references</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>call_user_func() behavior when passing literal to reference parameter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>call_user_func_array() passes value to prefer-ref arg if element wasn't a reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>call_user_func() on non-static closure without $this inside a static method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Check call to non-ref function with call-time refs</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Case-insensitive constants are deprecated</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>casting different variables to array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>casting different variables to boolean</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>casting different variables to double</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>casting different variables to integer</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>casting different variables to object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>casting different variables to string</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>catch shouldn't call __autoload</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing class_alias()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying redeclare class with class_alias()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing creation of alias using an existing interface name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing static call method using the original class name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing creation of alias to an internal class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing class_alias() using autoload</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing class_alias() with abstract class using an arbitrary class name as alias</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing interface declaration using the original and alias class name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying use an existing alias name in class declaration</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing callback in alias</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing dynamic alias name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing alias of alias</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing creation of alias to class name without namespace prefix</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing creation of alias to global scope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing alias with get_called_class() and get_class()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing class alias with is_subclass_of()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to redeclare class name in global scope inside namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing class alias in multiple namespaces</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Overriding internal class with class alias</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Conversion of a class constant to a reference after it has been cached</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>class constants basic tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>class constants as default function arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>class constants as default function arguments and dynamically loaded classes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing constants (normal, namespace, class and interface)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>String interning during constants substitution</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing class_exists() inside namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing several valid and invalid parameters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Checking if exists interface, trait, abstract and final class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>class name as scalar from ::class keyword</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>class name as scalar from ::class keyword error using static in class constant</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>class name as scalar from ::class keyword error using parent in class constant</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>class name as scalar from ::class keyword error using static in method signature</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>class name as scalar from ::class keyword error using parent in method signature</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>class name as scalar from ::class keyword error using static non class context</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>class name as scalar from ::class keyword error using parent in non class context</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cannot access self::class when no class scope is active</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$var::class is not supported</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Const class properties(runtime cache)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Class Property Expressions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Static Class Property Expressions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Using clone statement on non-object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing multiple clone statements</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Using clone statement on undefined variable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing usage of object as array on clone statement</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 001: Lambda without lexical variables</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 002: Lambda with lexical variables (global scope)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 003: Lambda with lexical variables (local scope)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 004: Lambda with lexical variables (scope lifetime)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 005: Lambda inside class, lifetime of $this</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 006: Nested lambdas</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 007: Nested lambdas in classes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 008: Use in preg_replace_callback()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 009: Using static vars inside lambda</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 010: Closure calls itself</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 011: Lexical copies not static in closure</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 012: Undefined lexical variables</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 013: __invoke() on temporary result</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 014: return by value/reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 015: converting to string/unicode</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 016: closures and is_callable()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 017: Trying to destroy an active lambda function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 018: Assigning lambda to static var and returning by ref</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 019: Calling lambda using $GLOBALS and global $var</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 020: Trying to access private property outside class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 021: Throwing exception inside lambda</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 022: Closure properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 023: Closure declared in statically called method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 024: Clone the Closure object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 025: Using closure in create_function()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 026: Assigning a closure object to an array in $this</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 027: Testing Closure type-hint</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 028: Trying to use lambda directly in foreach</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 029: Testing lambda with instanceof operator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 030: Using lambda with variable variables</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 031: Closure properties with custom error handlers</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 032: Testing Closure and debug_backtrace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 033: Dynamic closure property and private function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 033: Recursive var_dump on closures</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing recursion detection with Closures</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 036: Rebinding closures, keep calling scope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 037: self:: and static:: within closures</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 038: Rebinding closures, change scope, different runtime type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 039: Rebinding closures, change scope, same runtime type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 040: Rebinding closures, bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 041: Rebinding: preservation of previous scope when not given as arg unless impossible</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 042: Binding an instance to a non-scoped non-static closures gives it a dummy scope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 043: Scope/bounding combination invariants; static closures</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 044: Scope/bounding combination invariants; non static closures</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 045: Closures created in static methods are not implicitly static</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 046: Rebinding: preservation of previous scope when "static" given as scope arg (same as closure #041)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 047: Use in preg_replace_callback() using variables by reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 048: Use in preg_replace_callback() using variables by reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 049: static::class in static closure in non-static method.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 050: static::class in non-static closure in non-static method.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 051: static::class in static closure in static method.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 052: static::class in non-static closure in static method.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 053: self::class in static closure in non-static method.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 054: self::class in non-static closure in non-static method.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 055: self::class in static closure in static method.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 056: self::class in non-static closure in static method.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 057: segfault in leave helper</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 058: Closure scope and object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure 059: Closure type declaration</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>runtime cache must be invalidated for Closure::call()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Rebinding of ::getClosure()s</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure $this unbinding deprecation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug 66622: Closures do not correctly capture the late bound class (static::) in some cases</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure::call</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure must not leak during a dynamic call interrupted by an exception</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Immediately invoked closure with extra args</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure::__invoke() is case insensitive</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cannot use() auto-global</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Can't use name of lexical variable for parameter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure cannot use one variable twice</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cannot write to closure properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing Closure::fromCallable() functionality: Basic</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing Closure::fromCallable() functionality: Errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing Closure::fromCallable() functionality: Late static binding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing Closure::fromCallable() functionality: Getting non-static method statically</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing Closure::fromCallable() functionality: Rebinding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing Closure::fromCallable() functionality: Reflection</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closures cannot be instantiated directly</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>comparing different variables for equality</td><td>reason: this test is for 32bit platform only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>comparing different variables for equality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>comparing different variables for identity</td><td>reason: this test is for 32bit platform only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>comparing different variables for identity</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>comparing different variables (greater than)</td><td>reason: this test is for 32bit platform only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>comparing different variables (greater than)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>comparing different variables (less than)</td><td>reason: this test is for 32bit platform only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>comparing different variables (less than)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>comparing different variables (greater or equal than)</td><td>reason: this test is for 32bit platform only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>comparing different variables (greater or equal than)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>comparing different variables (smaller or equal than)</td><td>reason: this test is for 32bit platform only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>comparing different variables (smaller or equal than)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Behavior of failing compound assignment</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Error cases of compound shift assignment on strings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>concat different types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Stress test $x .= $x</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Concatenating many small strings should not slowdown allocations</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Constexpr arrays should be able to handle resource keys</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Const array deference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Const string dereference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Const array deference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Incorrect constant evaluation of and/or (OSS-Fuzz #19255)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Constant arrays</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Constant Expressions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Constant expressions with arrays</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Constant scalar expressions with autoloading and classes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Constant expressions with null coalescing operator ??</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Constant expressions with empty dimension fetch on coalesce</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Dynamic Constant Expressions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Dynamic class names can't be used in compile-time constant refs</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Constant Expressions with unsupported operands 001</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Constant Expressions with unsupported operands 002</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Can't use arrays as key for constant array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Self-referencing constant expression (part of a constant AST)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cannot use static::FOO in constant expressions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>__DIR__ constant used with eval()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>__DIR__ constant test with includes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>__DIR__ constant test with nested includes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Standard behaviour of __DIR__</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Defining and using constants</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Defining constants with non-scalar values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Using namespace constants and constants of global scope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to redeclare constant inside namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Persistent case insensitive and user defined constants</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Magic constants lowercased</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing const names</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Defining constant twice with two different forms</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Accessing constants inside namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>LSP checks are performed against an abstract constructor even if it is not a direct parent</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Different numbers of arguments in __construct()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Warning on continue targeting switch</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Defining a free-standing assert() function is deprecated</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>debug_backtrace limit</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>debug_backtrace options</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>debug_backtrace segmentation fault with include and error handler</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __debugInfo() magic method with bad returns ZERO (float)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __debugInfo() magic method with bad returns ZERO</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __debugInfo() magic method with bad returns ONE (float)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __debugInfo() magic method with bad returns ONE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __debugInfo() magic method with bad returns EMPTY STRING</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __debugInfo() magic method with bad returns FALSE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __debugInfo() magic method with bad returns OBJECT</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __debugInfo() magic method with bad returns RESOURCE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __debugInfo() magic method with bad returns STRING</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __debugInfo() magic method with bad returns TRUE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __debugInfo() magic method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>debug_print_backtrace limit</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing declare statement with several type values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing declare statement with several type values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing declare statement with several type values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing declare statement with several type values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing declare statement with ticks</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Use of non-literals in declare ticks values crashes compiler</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cannot declare class, because the name is already in use</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>decrementing different variables</td><td>reason: this test is for 32bit platform only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>decrementing different variables</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing array dereference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing array dereference on method calls</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing array dereference on method calls</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing array dereference on __invoke() result</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing array dereference on object that implements ArrayAccess</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing array dereference and references</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to write on method return</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing array dereference with dynamic method name and references</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing array dereference with references</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing dereference in non-array values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing array dereference with chaining</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing array dereferencing on return of a method with and without reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing array dereferencing on array returned from __call method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to create an object from dereferencing uninitialized variable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>dividing doubles</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>dividing arrays</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Double array cast</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>double to string conversion tests</td><td>reason: this test is for 32bit platform only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>double to string conversion tests (64bit)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scoping in destructor call</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Duplicate labels are not allowed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>zend_dval_to_lval preserves low bits (32 bit long)</td><td>reason: for machines with 32-bit longs</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>zend_dval_to_lval preserves low bits (64 bit long)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing dynamic call to constructor (old-style)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing dynamic call with invalid value for method name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing dynamic call with invalid method name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing dynamic call with undefined variables</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Dynamic calls to scope introspection functions are forbidden</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Dynamic calls to scope introspection functions are forbidden (function variations)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Dynamic calls to scope introspection functions are forbidden (misoptimization)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Don't optimize dynamic call to non-dynamic one if it drops the warning</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Freeing of function "name" when dynamic call fails</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>When performing a dynamic call to a ret-by-ref function, the reference should be unwrapped</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Crash when using dynamic call syntax with fully qualified name in a namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing each() with an undefined variable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing each() with array and object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing each() with recursion</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing empty() with string offsets</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>empty() with arbitrary expressions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>For SSA form the entry block should have no predecessors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: Non-abstract method must contain body</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: function cannot be declared private</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: cannot reassign $this (by ref)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: can't use function return value in write context</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: can't use method return value in write context</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: can't use [] for reading</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: can't use [] for reading - 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: can't use [] for unsetting</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: multiple access type modifiers are not allowed (properties)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: multiple access type modifiers are not allowed (methods)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: cannot redeclare (method)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: __autoload() must take exactly 1 argument</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: default value for parameters with array type can only be an array or NULL</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: __clone() cannot accept any arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: __isset() must take exactly 1 argument</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: __unset() must take exactly 1 argument</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: static abstract function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: __destruct() cannot take arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: disabled function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: disabled class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: only variables can be passed by reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: access level must be the same or weaker</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>No more errmsg: can now change initial value of property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: cannot inherit previously inherited constant</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: cannot redeclare class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: class declarations may not be nested</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: cannot use 'self' as class name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: cannot use 'parent' as class name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: cannot use 'self' as parent class name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: cannot use 'parent' as parent class name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: __construct() cannot be static</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: __destruct() cannot be static</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: __clone() cannot be static</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: cannot use 'self' as interface name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: cannot use 'parent' as interface name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: properties cannot be abstract</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: properties cannot be final</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: cannot redeclare property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: arrays are not allowed in class constants</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>errmsg: key element cannot be a reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying use object of type stdClass as array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Error message in error handler during compilation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>testing @ and error_reporting - 1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>testing @ and error_reporting - 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>testing @ and error_reporting - 3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>testing @ and error_reporting - 4</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>testing @ and error_reporting - 5</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>testing @ and error_reporting - 6</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>testing @ and error_reporting - 7</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>testing @ and error_reporting - 8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>testing @ and error_reporting - 9</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>testing @ and error_reporting - 10</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>eval() parse error on function with doc comment</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing nested exceptions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing exception and GOTO</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Throwing exception in global scope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Throwing exception using a class that isn't derived from the Exception base class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to throw exception of an interface</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to throw a non-object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Setting previous exception</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exception in __destruct while exception is pending</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing exception properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test exception doesn't cause RSHUTDOWN bypass, variation 0</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test exception doesn't cause RSHUTDOWN bypass, variation 1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exceptions on improper access to static class properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exceptions on improper access to static class properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exceptions on improper access to string</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exceptions on improper usage of $this</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exceptions on improper usage of $this</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing throw exception doesn't crash with wrong params, variant 1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing throw exception doesn't crash with wrong params, variant 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test that the original class name is present in the error out when extending ErrorException</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing throw exception doesn't crash with wrong params, variant 3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing throw exception doesn't crash with wrong params, variant 4</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Ensure proper backtraces with anon classes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exceptions before fatal error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Make sure exceptions during include/require stating are properly propagated</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exception during read part of compound assignment operation on a property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test exceptions thrown from __toString() in various contexts</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Calling exception getters when properties hold references</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>exception handler tests - 1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>exception handler tests - 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>exception handler tests - 3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>exception handler tests - 4</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>exception handler tests - 5</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>exception handler tests - 6</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exceptions ignoring arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exception during nested rope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exception during rope finalization</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exception with by-ref message</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Dtor may throw exception furing FE_FETCH assignment</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>FE_FETCH op2 is a def and needs special live range handling</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible heredoc syntax complex test 1: interpolated nested heredocs
with different delimiter names</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible heredoc syntax complex test 2: interpolated nested heredocs
with the same delimiter name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible heredoc syntax complex test 3: interpolated nested heredocs
with the same delimiter name with different levels of indentation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible heredoc syntax complex test 4: interpolated variable with
the same delimiter name as the heredoc</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible heredoc syntax 1: different indentation for body (spaces) ending marker (tabs)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible heredoc syntax error 10: unindented variable interpolation (as first value)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible heredoc syntax error 11: show erroneous line in error message (variable interpolation)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible heredoc syntax error 12: show erroneous line in error message (mixed indentation)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible heredoc syntax error 12: show erroneous line in error message (lacking indentation)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible heredoc syntax 2: mixing spaces and tabs in body</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible heredoc syntax error 3: mixing spaces and tabs in ending marker</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible heredoc syntax error 4: not enough body indentation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible heredoc syntax error 5: mixing spaces and tabs in ending marker for 0 length body</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible heredoc syntax error 6: no ending token on 0 length body</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible heredoc syntax error 7: no ending token</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible heredoc syntax error 8: don't interpret \t as indentation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible heredoc syntax error 9: unindented variable interpolation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible heredoc lineno: ensure the compiler globals line number is correct</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible heredoc/nowdoc syntax</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible nowdoc syntax 1: different indentation for body (spaces) ending marker (tabs)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible nowdoc syntax 2: mixing spaces and tabs in body</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible nowdoc syntax error 3: mixing spaces and tabs in ending marker</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible nowdoc syntax error 4: not enough body indentation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible nowdoc syntax error 5: mixing spaces and tabs in ending marker for 0 length body</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible nowdoc syntax error 6: no ending token on 0 length body</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible nowdoc syntax error 7: no ending token</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Flexible nowdoc syntax error 8: no ending token with explicit trailing space</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Double precision is used for floating point calculations</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>foreach() by-ref bug</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Creating recursive array on foreach using same variable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Iterator exceptions in foreach by value</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Iterator exceptions in foreach by reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Nested foreach by reference on the same array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Foreach by reference on constant</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Foreach by reference and inserting new element when we are already at the end</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Nested foreach by reference and array modification</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Nested foreach by reference and array modification with resize</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Nested foreach by value over object and object modification with resize</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>sort() functions precerve foreach by reference iterator pointer</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>array_walk() function precerve foreach by reference iterator pointer</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>array_push() function precerve foreach by reference iterator pointer</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>array_pop() function precerve foreach by reference iterator pointer</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>array_shift() function precerve foreach by reference iterator pointer</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>array_unshift() function precerve foreach by reference iterator pointer</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>array_splice() function precerve foreach by reference iterator pointer</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Foreach on stdClass with properties looking like mangled properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Perform a packed to hash insert when the iterator is at the end of the array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Empty foreach loops with exception must not leak</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>foreach with list syntax</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>foreach with freak lists</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>foreach with list key</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>foreach with empty list</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>foreach with list syntax, keyed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>foreach with reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Dynamic property shadowed by private property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Foreach over object with shadowed private property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Temporary array expressions can be iterated by reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>foreach() & undefined var</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>traverse an array and use its keys to unset GLOBALS</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Calling method from array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing func_get_args()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Call function with correct number of arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Call function with correct number of arguments with strict types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Call internal function with incorrect number of arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Call internal function with incorrect number of arguments with strict types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Call userland function with incorrect number of arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Call userland function with incorrect number of arguments with strict types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Leading commas in function calls is not allowed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Multiple inner commas in function calls is not allowed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Multiple trailing commas in function calls is not allowed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Single comma in function calls is not allowed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Allow trailing commas in function and method calls</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Argument parsing error #001</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Argument parsing error #002</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Function Argument Parsing #003</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>function_exists function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Function redeclaration must produce a simple fatal</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 001: gc_enable()/gc_diable()/gc_enabled()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 002: gc_enable()/gc_diable() and ini_get()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 003: gc_enabled() and ini_set()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 004: Simple array cycle</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 005: Simple object cycle</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 006: Simple array-object cycle</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 007: Unreferenced array cycle</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 008: Unreferenced object cycle</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 009: Unreferenced array-object cycle</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 010: Cycle with reference to $GLOBALS</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 011: GC and destructors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 012: collection of many loops at once</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 013: Too many cycles in one array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 014: Too many cycles in one object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 015: Object as root of cycle</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 016: nested GC calls</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 017: GC and destructors with unset</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 018: GC detach with assign</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 019: GC detach with assign by reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 020: GC detach reference with assign</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 021: GC detach reference with assign by reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 022: GC detach reference in executor's PZVAL_UNLOCK()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 023: Root buffer overflow (automatic collection)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 024: GC and objects with non-standard handlers</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 025: Automatic GC on request shutdown</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 026: Automatic GC on request shutdown (GC enabled at run-time)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 027: GC and properties of internal classes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 028: GC and destructors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 029: GC and destructors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 030: GC and exceptions in destructors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 031: gc_collect_roots() with GC turned off.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 032: Crash in GC because of invalid reference counting</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 033: Crash in GC while run with phpspec</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 034: GC in request shutdown and resource list destroy</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 035: Lost inner-cycles garbage</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 036: Memleaks in self-referenced array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 037: gc_status()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 038: Garbage created by compound assignment operators (e.g. +=)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 039: Garbage created by replacing argument send by reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>GC 041: Handling of references in nested data of objects with destructor</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Object properties HT may need to be removed from nested data</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Aborted yield during nested calls</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Aborted yield during object instantiation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Aborted yield during switch</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generator keys are auto-incrementing by default</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Printing the stack trace in a generator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exceptions in linear yield from setup</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Basic test if yield from works</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63066 (Calling an undefined method in a generator results in a seg fault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65035: yield / exit segfault</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65161: Generator + autoload + syntax error = segfault</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66041: list() fails to unpack yielded ArrayAccess object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67467: eval with parse error causes segmentation fault in generator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69419: Returning compatible sub generator produces a warning</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70904 (yield from incorrectly marks valid generator as finished)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70965 (yield from with a common iterator primes too much)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71013 (Incorrect exception handler with yield from)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71297 (Memory leak with consecutive yield from)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71441 (Typehinted Generator with return in try/finally crashes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71601 (finally block not executed after yield from)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72523 (dtrace issue with reflection (failed test))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74157 (Segfault with nested generators)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74606 (Segfault within try/catch/finally nesting in Generators)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74954 (crash after update of generator yielding from finished generator)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75396: Exit inside generator finally results in fatal error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76427 (Segfault in zend_objects_store_put)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78434: Generator skips first item after valid() call</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79600: Regression in 7.4.6 when yielding an array based generator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generators cannot be cloned</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Yield from does not leave a dangling send target</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>It's possible to invoke a generator dynamically</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generators can't be counted</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>The Generator class cannot be extended</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>It's not possible to directly instantiate the Generator class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Non-ref generators cannot be iterated by-ref</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>It is not possible to resume an already running generator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generators can't be serialized or unserialized</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>A notice is thrown when yielding a constant value by reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>yield cannot be used in a finally block when the generator is force-closed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Yielding the result of a non-ref function call throw a notice</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Yield cannot be used outside of functions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generator exceptions during shutdown should not be swallowed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Creating an infinite fibonacci list using a generator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>finally is run even if a generator is closed mid-execution</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>try { return } finally { return } in generator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>try { return } finally { yield }</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>finally is run on object dtor, not free</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>try { throw } finally { yield }</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>try { yield } finally { return }</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>try { yield } finally { throw }</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try { yield } finally { yield }</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>func_get_args() can be used inside generator functions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generator GC triggered with live iterator in foreach</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generator GC when the yield from parent chain does not reach the root</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Verify yield from on generators being properly cycle collected</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closures can be generators</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closures can be unused generators</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Non-static closures can be generators</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generators work properly in MultipleIterator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Methods can be generators</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generator methods can yield by reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generators must return a valid variable with return type specified</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generators can return without values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>A generator function returns a Generator object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>A generator can only be rewinded before or at the first yield</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Values can be sent back to the generator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>A static method can be a generator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generators using symtables must not leak</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Stack is cleaned up properly when an exception is thrown during a function call</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generators can throw exceptions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exceptions throwing by generators during foreach iteration are properly handled</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Calling generator through magic __call()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generators with arguments unpacking</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generators can also yield keys</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generators can return non-scalar keys</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generator wit type check</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generator wit type check</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generator::getReturn() success cases</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test interaction of Generator::getReturn() and finally</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generator::getReturn() error cases</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test different types of generator return values (VM operands)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Ignoring a sent value shouldn't leak memory</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Multiple yield from on a same Generator instance</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Multiple yield from on a same Generator throwing an Exception</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test nested calls with die() in a generator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Yield can be used in nested method calls</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>foreach() (and other) variables aren't leaked on premature close</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Check if recursion with yield from works</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return from by-ref generator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Calls to send() after close should do nothing</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$generator->send() returns the yielded value</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generator::throw() on an already closed generator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generator::throw() where the exception is caught in the generator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Throwing into a generator yielding from an array/iterator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generator::throw() with something that's not an exception</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generator::throw() where the generator throws a different exception</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generator::throw() where the exception is not caught in the generator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>There shouldn't be any leaks when the genertor's return value isn't used</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Simple generator xrange() test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Array keys can be yielded from generators</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Array offsets can be yielded by reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generators can yield by-reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generator shouldn't crash if last yielded value is a closure</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>"yield" can occur during a function call</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Yield can be used during a method call</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Yielding from the already running Generator should fail (bug #69458)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>yielding values from an array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exceptions in linear yield from setup</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Yield from by reference is not supported</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Deep recursion with yield from</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cannot "yield from" from force closed generator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>yield from parses too greedily</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>yield from with an (Array)Iterator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>yield from with an IteratorAggregate</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>yield from on multiple trees needing merge</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>yield from on multiple trees needing merge</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>yield can be used in finally (apart from forced closes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Free pending exceptions / return values on clone on yield in finally</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>No additional parenthesis are required around yield if they are already present</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Precedence of yield and arrow operators</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>The result of a by-ref function call can be yielded just fine</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>When + or - are used on yield, they must be unary (and not binary) (Bug #69160)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>yield can be used without a value</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Calling get_called_class() outside a class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>get_class_methods(): Testing scope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>get_class_methods(): Testing with interface</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>get_class_methods(): Testing scope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>get_class_vars(): Simple test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>get_class_vars(): Testing the scope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>get_class_vars(): Testing the scope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>get_class_vars(): Testing the scope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>get_class_vars(): Testing visibility</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>get_class_vars(): Testing visibility</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>get_class_vars(): Testing with static properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>get_class_vars() returns uninitialized typed properties with a null value</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>get_defined_functions() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing get_defined_vars() Function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>get_mangled_object_vars() function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing get_parent_class()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Check if get_required_files works</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Global variable import using a name with side effects</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>globals in global scope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>globals in local scope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>globals in local scope - 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>globals in local scope - 3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$GLOBALS resize</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>goto inside foreach</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78441 (Parse error due to heredoc identifier followed by digit)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test to check static method calls syntax regression</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test to ensure ::class still works</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test to ensure ::class is still reserved in obj scope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test possible function naming regression on procedural scope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test possible constant naming regression on procedural scope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test to ensure const list syntax declaration works</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test to ensure semi reserved words allow deference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test to check regressions on string interpolation with class members access</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test to check regressions on use statements and lexer state</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test to check regressions on T_IMPLEMENTS followed by a T_NS_SEPARATOR</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing instantiation using namespace:: prefix</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing for regression on const list syntax and arrays</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing for regression with encapsed variables in class declaration context</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test semi-reserved words as class methods</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test semi-reserved words as static class methods</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test semi-reserved words as class properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test semi-reserved words as static class properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test semi-reserved words as class constants</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test semi-reserved method and constant names and trait conflict resolution</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Edge case: self::self, self::parent, parent::self semi reserved constants access</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing with comments around semi-reserved names (not intended to be legible)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Edge case: T_STRING<as> as T_STRING<?></td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Edge case: T_STRING<insteadof> insteadof T_STRING<?></td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Protected visibility test case with a grandparent prototype</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>__HALT_COMPILER() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>__HALT_COMPILER() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>__HALT_COMPILER() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>__HALT_COMPILER();</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>__HALT_COMPILER(); 2 files</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>__HALT_COMPILER(); bad define() of __COMPILER_HALT_OFFSET__ 1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>__HALT_COMPILER(); bad define() of __COMPILER_HALT_OFFSET__ 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Using __COMPILER_HALF_OFFSET__ with trailing {} (OSS-Fuzz #17895)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>basic heredoc syntax</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>basic binary heredoc syntax</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>simple variable replacement test (heredoc)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>braces variable replacement test (heredoc)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>unbraced complex variable replacement test (heredoc)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>braced complex variable replacement test (heredoc)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>braced and unbraced complex variable replacement test (heredoc)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>empty doc test (heredoc)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>STATIC heredocs CAN be used as static scalars.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Heredoc with double quotes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Heredoc with double quotes and wrong prefix</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Heredoc with double quotes syntax but missing second quote</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing heredoc with escape sequences</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing heredoc (double quotes) with escape sequences</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>testing integer overflow (32bit)</td><td>reason: this test is for 32bit platform only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Incrementing and decrementing a referenced property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Include fails during read</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Stats executed during include path resolution should be silent</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Incompatible context call (non-internal function)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>incrementing different variables</td><td>reason: this test is for 32bit platform only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>It's not possible to increment the return value of a function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Indexing - various special cases.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Indirect method call by array - Invalid class name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Indirect method call by array - Invalid method name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Indirect method call by array - Calling __call() and __callStatic()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Indirect method call by array - Testing exception and method magics</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Dynamic static call to instance method should throw.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Indirect call with constants.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Indirect call with 'Class::method' syntax with class in namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Indirect call with empty class and/or method name.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Dynamic static call to instance method should throw.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing indirect method call and exceptions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Indirect method call with chaining</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing indirect method call</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Indirect method call and cloning</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing array dereferencing from instance with ArrayObject</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing indirect property access</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Indirect referenced $this</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Type inference should not result in infinite loop</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Inherit internal static property into userland class</td><td>reason: requires zend-test</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>instanceof shouldn't call __autoload</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing instanceof operator with several operators</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing instanceof operator with class and interface inheriteds</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Instanceof on literals returns false</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Integer conversion from scientific notation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>testing integer overflow (32bit)</td><td>reason: this test is for 32bit platform only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>testing integer overflow (64bit)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Conversion of special float values to int</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Using an integer as a static property name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>testing integer underflow (32bit)</td><td>reason: this test is for 32bit platform only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>testing integer underflow (64bit)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying inherit abstract function twice</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Inherited constant from interface</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Namespace constant as value default</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing interface constants with inheritance</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying declare interface with repeated name of inherited method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to inherit a class in an interface</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying use name of an internal class as interface name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing interface_exists()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing interface_exists() inside a namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Leak when using an invalid parent:: reference in a constant definition</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>is_a() and is_subclass_of() shouldn't call __autoload</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>is_callable() with trampoline should not caused UAF</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing isset and unset with variable variables</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing isset with several undefined variables as argument</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing isset accessing undefined array itens and properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Error message for isset(func())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Error message for isset(func())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing isset with string offsets</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>jump 01: goto backward</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>jump 02: goto forward</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>jump 03: goto inside control structures</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>jump 04: goto from loop (backward)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>jump 05: goto from loop (forward)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>jump 06: goto to undefined label</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>jump 07: goto into loop (backward)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>jump 08: goto into loop (forward)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>jump 09: goto into switch (backward)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>jump 10: goto into switch (forward)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>jump 08: goto inside switch in constructor</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>jump 09: goto in declare statement</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>jump 10: goto with try blocks</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing GOTO inside blocks</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>jump 15: goto from loop (forward)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>jump 16: goto into try/catch</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>jump 17: goto into try/catch with finally</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Use of __LINE__ in arrays</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>"Reference Unpacking - General" list()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>"Reference Unpacking - New Reference" list()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>"Reference Unpacking - From Functions" list()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>"Reference Unpacking - Foreach" list()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>"Reference Unpacking - Class Property and Methods" list()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>"Reference Unpacking - Class ArrayAccess No Reference" list()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>"Reference Unpacking - Class ArrayAccess With Reference" list()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>"Reference Unpacking - Oddities" list()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>"Reference Unpacking - VM Safety" list()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>"Reference Unpacking - Compile Error (scalar)" list()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>"Reference Unpacking - Compile Error (const)" list()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>"Nested" list()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing full-reference on list()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>list() with non-array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>list() with array reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing list() with several variables</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing nested list() with empty array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Using lambda with list()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Assignment to invalid list() value</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Do not allow mixing [] and list()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Disallow list() usage as if it were an array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Disallow empty elements in normal arrays</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Disallow tail empty elements in normal arrays</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cannot destructure using array(), even if nested</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>list() can be used to destructure to string offsets, __set and ArrayAccess::offsetSet</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Empty list() assignments are not allowed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cannot use empty elements in keyed array destructuring</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>list() with keys</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>list() with keys and ArrayAccess</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>list() with non-integer-or-string keys</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>list() with keys, evaluation order</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>list() with keys, evaluation order #2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>list() with keys, evaluation order #3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>list() with keys, evaluation order: nested</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>list() with constant keys</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>list() with keys and a trailing comma</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>list() with undefined keys</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>list() with both keyed and unkeyed elements</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>list() with nested unkeyed and keyed list()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test variable occurring on both LHS and RHS of list()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Break out of while loop that is followed by a return statement and inside a foreach loop</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding in a static function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding in an instance function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding creating a new class with 'static'</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding testing get_called_class()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding stacking static calleds</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding ensuring extending 'static' is not allowed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding ensuring implementing 'static' is not allowed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding class name "static"</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding interface name "static"</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding using static:: in functions called by non execute() calls and constructors.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding call to static::method() from internal function (array)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding call to static::method() from internal function (string)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding is_callable() and static::method()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding access to static::const through defined() and get_constant()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding with exceptions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding within hooks/magic methods</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding nested calls</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding and Singleton</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding properties and methods declared as protected and overridden as public.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding properties and methods declared as public and overridden as public.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding parent::/self:: forwarding while classname doesn't</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ZE2 Late Static Binding parent::/self:: forwarding and __callStatic</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>passing first parameter of __set() by ref</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>passing second parameter of __set() by ref</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>passing parameter of __get() by ref</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>passing parameter of __unset() by ref</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>passing parameter of __isset() by ref</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>passing first parameter of __call() by ref</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>passing second parameter of __call() by ref</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test use of magic constants in the global scope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing several magic methods</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __unset with private visibility</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __unset declaring as static</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __unset() with protected visibility</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __call() declaration in interface with wrong modifier</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __callstatic declaration in interface with missing the 'static' modifier</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __set() declaration in abstract class with wrong modifier</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __set implementation with wrong declaration</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __callstatic declaration with wrong modifier</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __toString() declaration with wrong modifier</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>int memory_get_peak_usage ([ bool $real_usage = false ] );</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Edge cases in compile-time method argument binding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>method_exists() segfaults</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing method_exists()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>Initial value of static var in method depends on the include time of the class definition</td><td> XFAIL REASON: Maybe not a bug</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>call_user_func() in combination with "Call to a member function method() on a non-object"</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Catch method calls on non-objects raise recoverable errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>usort() in combination with "Call to a member function method() on null"</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Method calls on non-objects raise recoverable errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>modulus by zero</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Indirect modification of isref by-value return value not possible</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>multiplying arrays</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Crash with Big5</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Zend Multibyte and ShiftJIS</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Zend Multibyte and UTF-8 BOM</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Zend Multibyte and UTF-16 BOM</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>test for mbstring script_encoding for flex unsafe encoding (Shift_JIS)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>encoding conversion from script encoding into internal encoding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Scripts with flex-incompatible encoding without suitable conversion strategy</td><td>reason: The mbstring extension cannot be present for this test</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Object naming collision error: class/class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Object naming collision error: class/interface</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Object naming collision error: class/trait</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Object naming collision error: interface/interface</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Object naming collision error: interface/trait</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Object naming collision error: trait/trait</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Class declaration colliding with import (in namespace)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Function declaration colliding with import (in namespace)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Class declaration colliding with import (in namespace)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test edge-cases for negative num strings in interpolated string offsets</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>active_class_entry must be always correct (__METHOD__ should not depend on declaring function ce)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Argument of new on class without constructor are evaluated</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>self:: class constants should not be propagated into closures, due to scope rebinding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>A "non well formed" notice converted to exception should result in a ZPP failure</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>bitwise NOT, doubles and strings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>bitwise NOT and arrays</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>basic nowdoc syntax</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>basic binary nowdoc syntax</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>simple variable replacement test (nowdoc)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>braces variable replacement test (nowdoc)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>unbraced complex variable replacement test (nowdoc)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>braced complex variable replacement test (nowdoc)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>braced and unbraced complex variable replacement test (nowdoc)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>empty doc test (nowdoc)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Nowdocs CAN be used as static scalars.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test false labels</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test whitespace following end of nowdoc</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Highlighting empty nowdoc</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test nowdoc and line numbering</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing nowdocs with escape sequences</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing nowdoc in default value for property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>001: Class in namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>002: Import in namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>003: Name conflict (ns name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>004: Using global class name from namespace (unqualified - fail)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>005: Name conflict (php name in case if ns name exists)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>006: Run-time name conflict (ns name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>007: Run-time name conflict (php name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>008: __NAMESPACE__ constant and runtime names (ns name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>009: __NAMESPACE__ constant and runtime names (php name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>010: Accessing internal namespace class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>011: Function in namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>012: Import in namespace and functions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>013: Name conflict and functions (ns name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>014: Name conflict and functions (php name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>015: Name conflict and functions (php name in case if ns name exists)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>016: Run-time name conflict and functions (ns name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>017: Run-time name conflict and functions (php name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>018: __NAMESPACE__ constant and runtime names (ns name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>019: __NAMESPACE__ constant and runtime names (php name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>020: Accessing internal namespace function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>021: Name search priority (first look into namespace)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>022: Name search priority (first look into import, then into current namespace and then for class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>023: __NAMESPACE__ constant</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>024: __NAMESPACE__ constant out of namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>025: Name ambiguity (class name & part of namespace name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>026: Name ambiguity (class name & namespace name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>027: Name ambiguity (class name & part of extertnal namespace name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>028: Name ambiguity (class name & external namespace name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>029: Name ambiguity (class name & import name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>030: Name ambiguity (import name & class name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>031: Namespace support for user functions (ns name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>032: Namespace support for user functions (php name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>033: Import statement with non-compound name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>034: Support for namespaces in compile-time constant reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>035: Name ambiguity in compile-time constant reference (php name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>036: Name ambiguity in compile-time constant reference (ns name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>037: Name ambiguity (namespace name or namespace's class name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>038: Name ambiguity (namespace name or internal class name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>039: Constant declaration</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>040: Constant declaration and usage in namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>041: Constants in namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>042: Import in namespace and constants</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>043: Name conflict and constants (ns name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>044: Name conflict and constants (php name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>045: Name conflict and constants (php name in case if ns name exists)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>046: Run-time name conflict and constants (ns name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>047: Run-time name conflict and constants (php name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>048: __NAMESPACE__ constant and runtime names (ns name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>049: __NAMESPACE__ constant and runtime names (php name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>050: Name conflict and compile-time constants (ns name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>051: Name conflict and compile-time constants (php name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>052: Name conflict and compile-time constants (php name in case if ns name exists)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>053: Run-time constant definition</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>054: namespace and interfaces</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>055: types in namespaces</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>056: type-hint compatibility in namespaces</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>057: Usage of 'namespace' in compound names (inside namespace)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>058: Usage of 'namespace' in compound names (out of namespase)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>059: Constant arrays</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>060: multiple namespaces per file</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>061: use in global scope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>062: use \global class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>063: Old-style constructors in namesapces (not supported!)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Magic methods in overridden stdClass inside namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>065: Multiple names in use statement</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>066: Name ambiguity (import name & internal class name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>067: Name ambiguity (import name & internal class name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>068: Code before namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>069: Include inside namespaced method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing parameter type-hinted with default value inside namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing parameter type-hinted (array) with default value inside namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing parameter type-hinted with interface</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing type-hinted lambda parameter inside namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing type-hinted lambda parameter inside namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>075: Redefining compile-time constants</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>076: Unknown constants in namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>077: Unknown compile-time constants in namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>077: Unknown compile-time constants in namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>077: Unknown compile-time constants in namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>077: Unknown compile-time constants in namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>077: Unknown compile-time constants in namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>077: Unknown compile-time constants in namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>077: Unknown compile-time constants in namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>002: Import - different syntaxes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>079: nested namespaces</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>080: bracketed namespaces and __HALT_COMPILER();</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>081: bracketed namespace with nested unbracketed namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>082: bracketed namespace with closing tag</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>083: bracketed namespace with junk before the ns declaration</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>084: unbracketed namespace with nested bracketed namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>085: bracketed namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>086: bracketed namespace with encoding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>087: bracketed namespace with stuff in between</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Nested group use statements syntax error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Group use statements</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Group use statements declared inline</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Group use statements with compound namespaces</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Typed group use statements</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Group use declarations and whitespace nuances</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Type group use declarations should not allow override on inner itens</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Absolute namespaces should be allowed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Group use declaration list should not contain leading separator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Mixed group use declaration can contain trailing comma</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Unmixed group use declaration can contain trailing comma</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Group use declarations mustn't be empty</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Group use declarations mustn't contain just a comma</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Group use declarations mustn't allow more than one comma</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Group use declarations mustn't begin with a comma</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Group use declarations mustn't contain two commas mid-list</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Unmixed group use declarations mustn't allow more than one comma</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Unmixed group use declarations mustn't begin with a comma</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Unmixed group use declarations mustn't contain two commas mid-list</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Explicitly nullable array type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Subtype can add nullability to a parameter (contravariance)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return type cannot add nullability (contravariance)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Subtype cannot remove nullable parameter (covariance)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Nullable covariant return types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Explicitly nullable float type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Explicitly nullable int type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Invariant parameter and return types work with nullable types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Explicit nullable types do not imply a default value</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Explicitly nullable string type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Valid use of numeric literal separator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Invalid use: trailing underscore</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Invalid use: adjacent underscores</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Invalid use: underscore left of period</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Invalid use: underscore right of period</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Invalid use: underscore next to 0x</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Invalid use: underscore next to 0b</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Invalid use: underscore left of e</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Invalid use: underscore right of e</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Invalid numeric string E_WARNINGs and E_NOTICEs</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Invalid numeric string E_WARNINGs and E_NOTICEs, combined assignment operations</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test whether an object is NULL or not.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>(object) (array) and (array) (object) casts</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug object gc not working in shutdown</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Magic object handlers segfaults and memory errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Inc/dec of reference object properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Object type can only default to null</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Missing class method a object return type during inheritance</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Missing interface method a object return type during inheritance</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Adding a class method object return type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Adding a function object return type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Adding class method a object return type during inheritance is allowed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Adding interface method a object return type during inheritance is allowed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflecting object return type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Adding a class method object type hint</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Adding a function object type hint</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflecting object type hint</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>comparing objects to other types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>method overloading with different method signature</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>method overloading with different method signature</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>method overloading with different method signature</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>method overloading with different method signature</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>method overloading with different method signature</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>method overloading with different method signature</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>method overloading with different method signature</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>method overloading with different method signature</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>redefining constructor (__construct second)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>redefining constructor (__construct first)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>implementing a class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>implementing the same interface twice</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>extending the same interface twice</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>comparing objects with strings/NULL</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing visibility of object returned by function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Using the same function name on interface with inheritance</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing references of dynamic properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Accessing members of standard object through of variable variable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing magic methods __set, __get and __call in cascade</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing 'self', 'parent' as type-hint</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Creating instances dynamically</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing direct assigning for property of object returned by function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing invalid method names with __call and __callstatic</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Using $this when out of context</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing 'new static;' calling parent method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing 'static::' and 'parent::' in calls</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to access undeclared static property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to access undeclared parent property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cloning stdClass</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Covariant return-by-ref constraints</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Ensure object comparison property order remains consistent</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>testing integer overflow (32bit)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Octal overflow in string interpolation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>using different variables to access array offsets</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Crash on $x['x']['y'] += 1 when $x is string</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>using different variables to access boolean offsets</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>using different variables to access long offsets</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>using different variables to access null offsets</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>accessing object dimension</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>using different variables to access string offsets</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>bitwise OR and strings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Make sure the return value of a property assignment is not freed to early</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Overloaded function 001</td><td>reason: zend-test extension not loaded</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Overloaded function 002</td><td>reason: zend-test extension not loaded</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Handling of assign-ops and incdecs on overloaded properties using &__get()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Getting parent class name when there is no parent generates an error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Calling parse_str through argument unpacking</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>The variable $php_errormsg shouldn't be optimized as it may be unpredictably modified</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>File with just a <?php tag should be valid</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Memory leak on ** with result==op1 array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Use power operator on reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Property access errors should be thrown for overloaded properties protected by recursion guards</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing property_exists()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Leak in QM_ASSIGN when unwrapping references (rc=1)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>The (real) cast is deprecated</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test recursive __debugInfo() method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Parse exceptions when using require</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Unused result of fetch operations</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Returned nothing, expected array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Returned null, expected array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Returned 1, expected array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Returned string, expected array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return value fails inheritance check in method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return type allowed in child when parent does not have return type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return value is subclass of return type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return type covariance in interface implementation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return type covariance error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Returned null, expected array reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Function returned callable, expected callable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Method returned callable, expected callable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure inside method returned null, expected array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Constructors cannot declare a return type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return types allowed in namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Fully qualified classes are allowed in return types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Fully qualified classes in trait return types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Destructors cannot declare a return type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>__clone cannot declare a return type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exception thrown from function with return type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return type allows self</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hint on closure with lexical vars</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PHP 4 Constructors cannot declare a return type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return type of self is not allowed in function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return type of self is allowed in closure</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return type of parent is not allowed in function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return type of parent is allowed in closure</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Memory leak when returning TMP/VAR with wrong return type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>return type with finally</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Nullable return value</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Nullable return type inheritance rules (non-nullable and nullable)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Nullable return type inheritance rules (nullable and non-nullable)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70557 (Memleak on return type verifying failed).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71092 (Segmentation fault with return type hinting)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71978 (Existence of return type hint affects other compatibility rules)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Valid generator return types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generator return type must be Generator, Iterator or Traversable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return type covariance works with generators</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Generator with return type does not fail with empty return</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return type covariance works with generators</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return type covariance; extends class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return type covariance; extends abstract class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return type mismatch; implements interface</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Internal covariant return type of self</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Internal covariant return type of self</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>External covariant return type of self</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Inheritance Hinting Compile Checking Failure Internal Classes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>External covariant return type of self</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Inheritance Hinting Compile Checking Failure Internal Classes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Return type for internal functions</td><td>reason: zend-test extension not loaded</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Return type for internal functions 2</td><td>reason: zend-test extension not loaded</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Return type for internal functions 3: Void return type</td><td>reason: zend-test extension not loaded</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return type and Reflection::export()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return value separation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>RFC example: returned type does not match the type declaration</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>RFC example: Scalar Types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>RFC example: cannot return null with a return type declaration</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>RFC example: missing return type on override</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>void return type: acceptable cases</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>void return type: unacceptable cases: explicit NULL return</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>void return type: unacceptable cases: explicit return of some other value</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>void return type: not valid as a parameter type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exceptions thrown into a rope must not leak</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test binary operands exposing the same behavior at compile as at run time</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test when constants are initialised. See also selfParent_002.phpt.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test when constants are initialised. See also selfParent_001.phpt.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ANDing strings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Use of self::class inside a constant in an unknown scope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Accessing self::FOO in a free function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>self etc. can be used in eval() in a class scope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>instanceof self outside a class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Accessing self:: properties or methods outside a class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Moduloing strings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ORing strings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>XORing strings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>casting different variables to array using settype()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>casting different variables to boolean using settype()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>casting different variables to double using settype()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>casting different variables to integer using settype()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>casting different variables to null using settype()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>casting different variables to object using settype()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>casting different variables to resource using settype()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>casting different variables to string using settype()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>shifting strings left</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>shifting strings right</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cannot use special class name as namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cannot use special class name as alias</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cannot use special class name as trait name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Calling a static method on a non-existing class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Static Variable Expressions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Inheritance of private method with static variable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Behavior of static variable in private trait method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>string offset 001</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>string offset 002</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>string offset 003</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>string offset 004</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>using resource as array offset</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>assigning static property as non static</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Some string offset errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Accessing PHP_INT_MAX and PHP_INT_MIN as string offsets</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Fixed execute_data corruption with __toString()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>subtracting arrays</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Switch on numeric strings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Temporary leak on exception</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Temporary leak on rope (encapsed string)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Fundamental memory leak test on temporaries</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Temporary leak with switch</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Temporary leak with foreach</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exception after separation during indirect write to fcall result</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exception inside a foreach loop with return</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Optimization of constant switch expression</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Live range & free on return</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Live range & throw from finally</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Live range & lists</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Live range of ZEND_NEW must be assigned to correct variable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exceptions thrown in operand cleaning must cause leak of return value</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Leak in JMP_SET</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Attempt to free invalid structure (result of ROPE_INIT is not a zval)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Live ranges should be ordered according to "start" position</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Using ternary associativity is deprecated</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$this as global variable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cannot use $this as lexical variable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$this as parameter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$this as static variable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$this in catch</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$this in eval() block</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$this re-assign in extract()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$this in foreach</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$this in foreach</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$this in foreach</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$this in foreach</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$this in isset</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$this re-assign in mb_parse_str()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$this re-assign in parse_str()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$this in unset</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$this re-assign</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Throw reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test using an Error as the previous Throwable for an Exception</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test using an Exception as the previous Throwable for an Error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test user code implementing Throwable results in fatal error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exception in compound assign op should prevent call to overloaded object handlers</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing trait_exists()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing trait_exists() inside a namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Checking trait_exists(): interface, trait, abstract and final class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54441 (Changing trait static method visibility)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55137 (Changing trait static method visibility)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55214 (Use of __CLASS__ within trait returns trait name not class name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55355 (Abstract functions required by a trait are not correctly found when implemented in an ancestor class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55372 (Literal handling in methods is inconsistent, causing memory corruption)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55424 (Method got missing from class when a trait defined an abstract method to express a requirement)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55524 Traits should not be able to extend a class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55137 (Legacy constructor not registered for class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55137 (Legacy constructor not registered for class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55137 (Legacy constructor not registered for class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55137 (Legacy constructor not registered for class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55137 (Legacy constructor not registered for class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55137 (Legacy constructor not registered for class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55137 (Legacy constructor not registered for class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60145 (Usage of trait's use statement inside interfaces not properly checked.)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60153 (Interface method prototypes not enforced when implementd via traits.)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60165 (Aliasing unexisting trait should throw/trigger the exception/error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60165 (Aliasing unexisting trait should throw/trigger the exception/error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60165 (Aliasing unexisting trait should throw/trigger the exception/error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60165 (Aliasing unexisting trait should throw/trigger the exception/error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60173 (Wrong error message on reflective trait instantiation)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60217 (Requiring the same method from different traits.)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60217 (Requiring the same method from different traits and abstract methods have to be compatible)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60217 (Requiring the same method from different traits and abstract methods have to be compatible, in both directions.)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60369 (Crash with static property in trait)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60717 (Order of traits in use statement can cause unexpected unresolved abstract method)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60809 (TRAITS - PHPDoc Comment Style Bug)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61052 (missing error check in trait 'insteadof' clause)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61998 (Using traits with method aliases appears to result in crash during execution)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63911 (Ignore conflicting trait methods originationg from identical sub traits)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64070 (Inheritance with Traits failed with error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64235 (Insteadof not work for class method in 5.4.11)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64235 (Insteadof not work for class method in 5.4.11)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65576 (Constructor from trait conflicts with inherited constructor)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65576 (Constructor from trait conflicts with inherited constructor)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #69579 (Internal trait double-free)</td><td>reason: zend-test extension not loaded</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74607 (Traits enforce different inheritance rules - return types)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74607 (Traits enforce different inheritance rules - number of required parameters)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74922 (Composed class has fatal error with duplicate, equal const properties)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74922 (Composed class has fatal error with duplicate, equal const properties)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74922 (Composed class has fatal error with duplicate, equal const properties)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74922 (Composed class has fatal error with duplicate, equal const properties)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75607 (Comparison of initial static properties failing)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75607 (Comparison of initial static properties failing)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76539 (Trait attribute is set incorrectly when using self::class with another string)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76700 (false-positive "Error: Call to protected method" when using trait aliases)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76773 (Traits used on the parent are ignored for child classes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Abstract Trait Methods should behave like common abstract methods.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Abstract Trait Methods should behave like common abstract methods.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Abstract Trait Methods should behave like common abstract methods.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Abstract Trait Methods should behave like common abstract methods and
implementstion may be provided by other traits. Sorting order shouldn't influence result.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>The compatibility with the signature of abstract methods should be checked.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>The compatibility with the signature of abstract methods should be checked. (also checking the second possible implementation branch)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Semantic of alias operation is to provide an additional identifier for the method body of the original method.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Semantic of alias operation is to provide an additional identifier for the
method body of the original method.
It should also work incase the method is fully qualified.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Aliases are applied to the correct methods, and only to them.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Check for problems with case sensitivity in compositions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Make sure trait does not implement an interface.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Check error message for missing traits</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Overriding Conflicting Methods should not result in a notice/warning about collisions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Properties are considered incompatible if they are different in any of their
defined characteristics. Thus, initialization values have to be equal, too.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Method conflict in traits</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Overwridden methods do not cause a conflict.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Two methods resulting in a conflict, should be reported both.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to use instanceof for a method twice</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to use an undefined trait</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to use an interface as trait</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to use a class as trait</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to use a final class as trait</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to use an abstract class as trait</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to instantiate a trait</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to implement a trait</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to extend a trait</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to exclude trait method multiple times</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing trait collisions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to access a protected trait method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to use static as method modifier</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to override final method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to add an alias to a trait method where there is another with same name.
Should warn about the conflict.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to create a constant on Trait</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Methods using object properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>parent:: works like in a method defined without traits.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Traits are flattened recurivly.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing get_declared_traits()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing get_declared_traits() inside namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing get_declared_classes() and get_declared_traits()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trait method overwridden by a method defined in the class.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trait method overriddes base class method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trait method overrides base class method and satisfies prototype</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Using traits to implement interface</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Checking error message when the trait doesn't implements the interface</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing to implement Serializable interface by traits</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Single Trait with simple trait method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Use multiple traits.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Use instead to solve a conflict.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Use instead to solve a conflict and as to access the method.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Use instead to solve a conflict and as to access the method.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Express requirements of a trait by abstract methods.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Traits can fulfill the requirements of abstract base classes.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Visibility can be changed with the as aliasing construct as well.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Visibility can be changed with the as aliasing construct as well.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>In instead definitions all trait whose methods are meant to be hidden can be listed.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Aliasing leading to conflict should result in error message</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Aliasing on conflicting method should not cover up conflict.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Statics should work in traits, too.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Statics work like expected for language-based copy'n'paste. No link between methods from the same trait.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Aliasing leading to conflict should result in error message</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Invalid conflict resolution (unused trait as lhs of "insteadof")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Invalid conflict resolution (unused trait as rhs of "insteadof")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Invalid conflict resolution (unused trait as lhs of "as")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>abstract alias</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>final alias</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing magic method on trait</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing collision with magic methods</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing __construct and __destruct with Trait</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Don't statically bind arguments for self:: calls in traits</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Don't mark trait methods as constructor</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>"Potentially" conflicting trait properties do not result in a strict standards notice anymore</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Non-conflicting properties should work just fine.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Conflicting properties with different visibility modifiers should result in a fatal error, since this indicates that the code is incompatible.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Conflicting properties with different initial values are considered incompatible.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>The same rules are applied for properties that are defined in the class hierarchy. Thus, if the properties are incompatible a fatal error occurs.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Introducing new private variables of the same name in a subclass is ok, and does not lead to any output. That is consistent with normal inheritance handling.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Introducing new private variables of the same name in a subclass is ok, and does not lead to any output. That is consistent with normal inheritance handling.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Handling of private fields with traits needs to have same semantics as with normal inheritance.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Handling of public fields with traits needs to have same semantics as with normal inheritance, however, we do add strict warnings since it is easier to run into something unexpeted with changing traits.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Traits with static methods.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Traits with static methods referenced using variable.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Traits with late static bindings.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Traits with __callStatic magic method.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Traits and forward_static_call().</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Traits and get_called_class().</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>__TRAIT__: Basics, a constant denoiting the trait of definition.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>__TRAIT__: Use outside of traits.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70228 (memleak if return in finally block)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70228 (memleak if return in finally block)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70228 (memleak if return in finally block)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70228 (memleak if return in finally block)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70228 (memleak if return hidden by throw in finally block)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70228 (memleak if return in finally block)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70228 (memleak if return in finally block)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70228 (memleak if return in finally block)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71604: Aborted Generators continue after nested finally</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71604: Aborted Generators continue after nested finally (2)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71604: Aborted Generators continue after nested finally (3)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72213 (Finally leaks on nested exceptions)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72213 (Finally leaks on nested exceptions)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72629 (Caught exception assignment to variables ignores references)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74444 (multiple catch freezes in some cases)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Catching an exception in a constructor</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Catching an exception in a constructor fired form a static method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Catching an exception in a constructor inside a static method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try catch finally (basic test)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try catch finally (basic test with return)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try catch finally (with multi-returns)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try catch finally (nesting try-catch-finally)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try catch finally (with multi-returns and exception)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try catch finally (re-throw exception in catch block)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>jmp into a finally block 01</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>jmp into a finally block 02</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>jmp into a finally block 03</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>jmp into a finally block 03</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>There must be a difference between label: try { ... } and try { label: ... }</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try catch finally</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try catch finally catch(multi catch blocks)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try catch finally (multi catch blocks with return)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try catch finally (re-throw exception in catch block)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try catch finally (break / cont in try block)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try catch finally (goto in try/catch block)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try catch finally (goto in try/catch block)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try finally (basic test)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try finally (re-throw exception in finally block)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try finally (call sequence test)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try finally (without catch/finally block)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try finally (with long goto)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try finally (with near goto)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try finally (with goto previous label)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try finally (with break in do...while)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try finally (with for continue)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try finally (function call in the finally block after exception)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try finally (segfault with empty break)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try finally (exception in "return" statement)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return in try and finally inside loop</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Break 2 in try and return in finally inside nested loop</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Ignoring return inside loop using finally</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exception during break 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exception during break 2 with multiple try/catch</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Combination of foreach, finally and goto</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Combination of foreach, finally and goto (call order)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Combination of foreach, finally and exception (call order)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Live range & return from finally</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Try finally (exception in "return" statement)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Loop var dtor throwing exception during return inside try/catch inside finally</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exception in finally inside finally following try/catch containing throwing try/finally</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Throw in try of try/finally inside catch</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Throw in finally inside catch inside finally</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return in try with throw in finally, inside other finally</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Parsing test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Catch first exception in the multicatch</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Catch second exception in the multicatch</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Catch last exception in the multicatch</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Catch exception in the nested multicatch</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Catch first exception in the second multicatch</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Catch second exception in the second multicatch</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Adding a return type during inheritance is allowed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Array type declaration</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>callable type#001</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>callable type#002 - Reflection</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>callable type#003</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure with variadic type declaration</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Default values for boolean hints should work</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>explicitly strict_types=0 code including strict_types=1 code</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Inexistent class as type receiving scalar argument</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scalar type - internal function strict mode</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>iterable type#001</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>iterable type#002 - Default values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>iterable type#003 - Return types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>iterable type#004 - Parameter covariance</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>iterable type#005 - Return type covariance</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>nullable class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Nullable typed return without value generates friendlier error message</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Void cannot be nullable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Parameter variance with no type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>The parent class is not necessarily the class of the prototype</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return values are separated for references with rc=1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scalar type basics</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scalar type - default via constants</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scalar type - default via constants - error condition</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Float type should allow an integer as default even with strict types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Float type should allow an integer as default</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Float type should not allow invalid types as default</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scalar type missing parameters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scalar type nullability</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scalar type - disallow relative types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scalar type names cannot be used as class, trait or interface names (2)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scalar type names cannot be used as class, trait or interface names (2) - class_alias</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scalar type names cannot be used as class, trait or interface names (2) - use</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scalar type names cannot be used as class, trait or interface names (3)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scalar type names cannot be used as class, trait or interface names (3) - class_alias</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scalar type names cannot be used as class, trait or interface names (3) - use</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scalar type names cannot be used as class, trait or interface names (4)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scalar type names cannot be used as class, trait or interface names (4) - class_alias</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scalar type names cannot be used as class, trait or interface names (4) - use</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scalar type names cannot be used as class, trait or interface names (6)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scalar type names cannot be used as class, trait or interface names (6) - class_alias</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scalar type names cannot be used as class, trait or interface names (6) - use</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scalar type names cannot be used as class, trait or interface names (7)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Return scalar type basics</td><td>reason: this test is for 32bit platform only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Return scalar type basics</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Scalar type strict mode</td><td>reason: this test is for 32bit platform only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Scalar type strict mode</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Strict scalar type basics</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strict declaration being first operation only</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strict declaration being first operation only 002</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strict declaration being first operation only 003</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strict declaration being first operation only 004</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strict declaration being first operation only 005</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strict declaration being first operation only 006</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strict declaration being first operation only 007</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strict declaration block declaration 008</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Weak scalar types, with references</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>self return type on closure in a method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>strict_types=1 code calling strict_types=0 code</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>strict_types=1 code calling explicitly strict_types=0 code</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>strict_types=1 code including explicitly strict_types=0 code</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>strict_types=1 code including strict_types=0 code</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test nested function calls in strict_types=0 and strict_types=1 modes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties basic operation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties error condition (read uninitialized)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties error condition (fetch uninitialized by reference)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties error condition (type mismatch)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties error condition (type mismatch object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties inheritance (scalar)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties inheritance</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties inheritance (missing info)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties unset leaves properties in an uninitialized state</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties allow fetch reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties allow fetch reference for init array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties allow fetch reference for foreach</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties disallow incorrect type initial value (scalar)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties disallow incorrect type initial value (array)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties disallow incorrect type initial value (object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties initial values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties disallow void</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties type applies to all props in group</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties int must not be allowed to overflow</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties binary assign op helper test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties delay type check on constant</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties delay type check on ast</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed static property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties ignore private props during inheritance</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties type must preceed first declaration in group</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties inherit traits with typed properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties float widen at runtime</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties respect strict types (off)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties respect strict types (on)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties unset __get magical magic</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties coerce int to float even in strict mode</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties return by ref is allowed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties yield reference guard</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties passed to typed function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties inheritance must not change type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test unitialized typed properties normal foreach must not be yielded</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties var_dump uninitialized</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties overflowing</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Repeated assign of a variable to mismatched property type must not succeed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test __get on unset typed property must fail properly</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties weak conversion of strings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Proper source duplication on assignment to typed property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to assign to a static 'self' typed property on a trait must not fixate the type to the trait</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test increment functions on typed property references</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>foreach() must return properly typed references</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Memory leaks on wrong assignment to typed property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Nullable typed property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Parent private property types must be ignored</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Nullable typed property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Weak casts must not overwrite source variables</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Weak casts must not leak</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Class properties declared in eval() must not leak</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Typed properties disallow callable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Typed properties disallow callable (nullable variant)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test assign to typed property taken by reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Type change in assign_op (use-after-free)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Type change in pre/post-increment (use-after-free)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Constants in default values of properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Nullable typed properties in traits</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties work fine with simple inheritance</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Typed property on overloaded by-ref property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Typed property on by-ref property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Typed property on by-ref variable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Typed property on by-ref array value</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Typed property on by-ref array dimension</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Typed property assignment must not overwrite constants</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Iterable typed properties must be accepted to by-ref array arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed static property by ref</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test assign of invalid string to typed static int property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed static property with assign op operators</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test assignment to typed reference with weak type conversion</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Typed property must cast when used with __get()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Typed property must cast when used with &__get()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Typed property must be compatible when returned via &__get()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties overflowing</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Computation of intersection types for typed reference to typed property assignments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Converted values shall be returned and not the original value upon property assignment</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Typed references must be kept track of and always be only the intersection of the types currently holding that reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test static typed properties with references</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Access to typed static properties before initialization</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Clone must inherit typed references</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed references to static properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test array promotion does not violate type restrictions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Typed properties and class aliases</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Important properties with different types from traits</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test typed properties with integer keys</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Ensure null-initialization of nullable typed static property taken by reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Check for correct invalidation of prop_info cache slots</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Modification of typed property during assignment must not leak</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Unsetting typed properties containing a reference must respect shadowing</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Automatic promotion of falsy to object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Refs on ASSIGN_OBJ fast-path</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Typed property assignment by ref with variable name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Edge cases relating to reference source tracking</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Typed properties in internal classes</td><td>reason: requires zend-test</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>References to typed properties with undefined classes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Incrementing/decrementing past max/min value (additional cases)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Make sure uninitialized property is initialized to null when taken by reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Check that iterating a typed property by reference adds a type source</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Property type not enforced for __get if the property is not visible</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Dumping of uninitialized typed properties (including private ones)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Compound assignment operator on static property holding ref</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Handling of UNDEF property in compound assign</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Uninitialized result of PRE_INC/PRE_DEC in case of exception</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77673 ReflectionClass::getDefaultProperties returns spooky array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>CONST/CV should not be freed on failed reference assignment</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Assigning stringable object to static string property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Variable assignment in catch must respect typed references</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Typed properties do not invoke the autoloader</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>__set() should not be invoked when setting an uninitialized typed property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Typed property invariance violation for protected properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Typed return without value generates compile-time error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>AST pretty-printer</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Variance check for abstract constructor</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Class order allowed with autoloading (1)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Class order allowed with autoloading (2)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Class order allowed with autoloading (3)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Class order allowed with autoloading (4)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Class order allowed with autoloading (5)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Variance error in the presence of autoloading (1)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Variance error in the presence of autoloading (2)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Variance error in the presence of autoloading (3)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Variance error in the presence of autoloading (4)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Variance error in the presence of autoloading (5)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Variance error in the presence of autoloading (6)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Returns are covariant, but we don't allow the code due to class ordering</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Forward compatibility with types that look like classes but aren't</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Internal class as parent</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exception while loading class -- parent case</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Exception while loading class -- interface case</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing object's variance in inheritance</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Use of parent inside a class that has / has no parent</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Use of parent inside a class that has / has no parent (success cases)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Early binding should be prevented if property types cannot be checked</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trait delayed variance check fails</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trait delayed variance check succeeds</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Using an unlinked parent class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Using an unlinked parent interface</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>strict_types=0 code calling strict_types=1 code</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Explicitly strict_types=0 code calling strict_types=1 code</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>strict_types=0 code including strict_types=1 code</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>"iterable" must not be fully qualified</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Fully-qualified nullable parameter type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Fully qualified (leading backslash) type names must fail</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>namespace\int is not a valid type hint</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test "or null"/"or be null" in type-checking errors for userland functions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Error suppression should have no impact on uncaught exceptions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Crash when function parameter modified via unexpected reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>The (unset) cast is deprecated</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>unset() CV 1 (unset() global variable)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>unset() CV 2 (unset() global variable in $GLOBALS)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>unset() CV 3 (unset() global variable in included file)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>unset() CV 4 (unset() local variable in included file)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>unset() CV 5 (indirect unset() of global variable in session_start())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>unset() CV 6 (indirect unset() of global variable in session_unset())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>unset() CV 8 (unset() of global variable in array_unique($GLOBALS))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>unset() CV 9 (unset() of global variable in array_pop($GLOBALS))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>unset() CV 10 (unset() of global variable in ArrayObject::offsetUnset($GLOBALS))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>unset() CV 11 (unset() of copy destoies original value)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>unset() CV 12 (unset() in indirect called function)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cleanup of shared static variables HT that has never been used should not assert</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>aliasing imported constants to resolve naming conflicts</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>import namespaced constant</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>importing const with same name but different case</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>use const statements with conflicting names</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>use and use const with the same alias</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>defining const with same name as imported should fail</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>using const with same name as defined should fail</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>non-existent imported constants should not be looked up in the global table</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Allow self and parent in use const statement</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>shadowing a global core constant with a local version</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>shadowing a global constant with a local version</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>aliasing imported functions to resolve naming conflicts</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>import namespaced function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>importing function with same name but different case should fail</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>function that is conditionally defined is subject to symbol use checks</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>use function statements with conflicting names</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>use and use function with the same alias</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>use const and use function with the same alias</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>defining function with same name as imported should fail</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>using function with same name as defined should fail</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>use function should ignore namespaced constants</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>"use function" should not conflict with class names</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>non-existent imported functions should not be looked up in the global table</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>non-existent imported functions should not be looked up in the global table</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Allow self and parent in use function statement</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>shadowing a global core function with a local version</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>shadowing a global function with a local version</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Use conflicts are detected for late-bound classes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Use conflicts should not occur across eval()s</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Use conflicts should not occur across files</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Classes can only be used once they are fully linked</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Const class member access with deference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Global keyword only accepts simple variables</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Indirect function calls</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>isset() can be used on dereferences of temporary expressions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Method call on string literal</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Variable as class name for new expression</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Dereferencing expression parentheses</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cannot take property of a string</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Static member access</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Accessing a static property on a statically evaluable class expression</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Static property on constexpr class with leading backslash</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Static property access on constexpr class evaluating to integer</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Passing a dimension fetch on a temporary by reference is not allowed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Passing a property fetch on a temporary by reference is not allowed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Writing to a temporary expression is not allowed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Variable with boolean name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Variable with integer name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>It's possible to add additional optional arguments with matching signature</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Additional optional parameters must have a matching prototype</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Basic variadic function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Variadic arguments with by-reference passing</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>By-ref variadics enforce the reference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Closure::__invoke() with variadic parameter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Variadic argument cannot have a default value</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>It's not possible to turn a variadic function into a non-variadic one</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Only the last argument can be variadic</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Optional parameter before variadic parameter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>It's not possible to remove required parameter before a variadic parameter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Variadic arguments enforce types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Error suppression for types on variadic arguments works</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Variadic arguments must have compatible passing modes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Typehints for variadic arguments have to be compatible</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>A non-variadic function can be turned into a variadic one</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Accessing variable variables using referenced names</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Ensure valid vm_stack even when it needed to be copied to a new page</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>No warnings should be thrown during heredoc scan-ahead</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>WeakReference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>WeakReference serials</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>WeakReference object handlers</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>WeakReference no inheritance</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>WeakReference no __construct</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>XORing arrays</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>XORing strings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>XORing booleans</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Operator precedence</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Zend signed multiply 32-bit</td><td>reason: Running on 64-bit target</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Zend signed multiply 64-bit, variation 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Zend signed multiply 64-bit, variation 1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>zend_strtod() leaks on big doubles</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>COM: mapping a safearray</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #33386 (ScriptControl only sees last function of class)</td><td>reason: MSScriptControl isn't available under x64</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34272 (empty array onto COM object blows up)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39596 (Creating Variant of type VT_ARRAY)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>COM: Loading typelib corrupts memory</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45280 (Reflection of instantiated COM classes causes PHP to crash)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>WARN</td><td>Bug #49192 (PHP crashes when GC invoked on COM object)</td><td> (warn: XFAIL section but test passes)</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #66322 (COMPersistHelper::SaveToFile can save to wrong location)</td><td>reason: MS Word not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66431 Special Character via COM Interface (CP_UTF8), Scripting.FileSystemObject</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #66431 Special Character via COM Interface (CP_UTF8), Application.Word</td><td>reason: Failed to create COM object `word.application': Invalid syntax
</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69939 (Casting object to bool returns false)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72498 variant_date_from_timestamp null dereference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73679 DOTNET read access violation using invalid codepage</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77177 (Serializing or unserializing COM objects crashes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77578 (Crash when php unload)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77621 (Already defined constants are not properly reported)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78650 (new COM Crash)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78694 (Appending to a variant array causes segfault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #79242 (COM error constants don't match com_exception codes)</td><td>reason: this test is for 32bit platforms only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79247 (Garbage collecting variant objects segfaults)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79248 (Traversing empty VT_ARRAY throws com_exception)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79299 (com_print_typeinfo prints duplicate variables)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79332 (php_istreams are never freed)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>COM: General variant tests</td><td>reason: x86 only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>COM: General variant tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #27023 (CURLOPT_POSTFIELDS does not parse content types for files)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45161 (Reusing a curl handle leaks memory)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46711 (lost memory when foreach is used for values passed to curl_setopt())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46739 (array returned by curl_getinfo should contain content_type key)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48203 (Crash when CURLOPT_STDERR is set to regular file)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Variation of bug #48203 with curl_multi_exec (Crash when file pointers passed to curl are closed before calling curl_multi_exec)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_setopt() CURLOPT_FILE readonly file handle</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48514 (cURL extension uses same resource name for simple and multi APIs)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52202 (CURLOPT_PRIVATE gets clobbered)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52827 (curl_setopt with CURLOPT_STDERR erroneously increments the resource refcount)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #54798 (Segfault when CURLOPT_STDERR file pointer is closed before calling curl_exec)</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54798 (Segfault when CURLOPT_STDERR file pointer is closed before calling curl_exec)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #54995 (Missing CURLINFO_RESPONSE_CODE support)</td><td>reason: : tests works a versions of curl >= 7.10.8</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_opt() function with POST params from array with a numeric key</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #61948 (CURLOPT_COOKIEFILE '' raises open_basedir restriction)</td><td>reason: Not Valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61948 (CURLOPT_COOKIEFILE '' raises open_basedir restriction)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62839 (curl_copy_handle segfault with CURLOPT_FILE)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #63363 (CURL silently accepts boolean value for SSL_VERIFYHOST)</td><td>reason: : test valid for libcurl < 7.28.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63795 (CURL >= 7.28.0 no longer support value 1 for CURLOPT_SSL_VERIFYHOST)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64267 (CURLOPT_INFILE doesn't allow reset)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65458 (curl memory leak)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65646 (re-enable CURLOPT_FOLLOWLOCATION with open_basedir or safe_mode): open_basedir disabled</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65646 (re-enable CURLOPT_FOLLOWLOCATION with open_basedir or safe_mode): open_basedir enabled; curl >= 7.19.4</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #65646 (re-enable CURLOPT_FOLLOWLOCATION with open_basedir or safe_mode): open_basedir enabled; curl < 7.19.4</td><td>reason: curl version is too new</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66109 (Option CURLOPT_CUSTOMREQUEST can't be reset to default.)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67643 (curl_multi_getcontent returns '' when RETURNTRANSFER isn't set)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68089 (NULL byte injection - cURL lib)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug # #68937 (Segfault in curl_multi_exec)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug # #68937 (Segfault in curl_multi_exec)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69316: Use-after-free in php_curl related to CURLOPT_FILE/_INFILE/_WRITEHEADER</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69485 (Double free on zend_list_dtor)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70330 (Segmentation Fault with multiple "curl_copy_handle")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #71144 (Sementation fault when using cURL with ZTS)</td><td>reason: only for zts build</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71523 (Copied handle with new option CURLOPT_HTTPHEADER crashes while curl_multi_exec)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Request #72189 (Add missing CURL_VERSION_* constants)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72202 (curl_close doesn't close cURL handle)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73147: Use After Free in PHP7 unserialize()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76675 (Segfault with H2 server push write/writeheader handlers)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77535 (Invalid callback, h2 server push)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>FR #77711 (CURLFile should support UNICODE filenames)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77946 (Errored cURL resources returned by curl_multi_info_read() must be compatible with curl_errno() and curl_error())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78775: TLS issues from HTTP request affecting other encrypted connections</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79033 (Curl timeout error with specific url and post)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79199 (curl_copy_handle() memory leak)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Check libcurl config on windows</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test CURLOPT_READDATA without a callback function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_exec() function with basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_opt() function with CURLOPT_RETURNTRANSFER parameter set to 1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_opt() function with POST parameters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_opt() function with setting referer</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_opt() function with user agent</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_opt() function with CURLOPT_WRITEFUNCTION parameter set to a closure</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_error() & curl_errno() function without url</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_error() & curl_errno() function with problematic host</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_error() & curl_errno() function with problematic protocol</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_error() & curl_errno() function with problematic proxy</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_opt() function with COOKIE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_opt() function with CURLOPT_HTTP_VERSION/CURL_HTTP_VERSION_1_0</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_opt() function with CURLOPT_HTTP_VERSION/CURL_HTTP_VERSION_1_1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_init() function with basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_init() function with $url parameter defined</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test curl_getinfo() function with basic functionality</td><td>reason: : tests works only on older versions of curl</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_setopt() with curl_multi function with basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_getinfo() function with CURLINFO_EFFECTIVE_URL parameter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_getinfo() function with CURLINFO_HTTP_CODE parameter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_getinfo() function with CURLINFO_CONTENT_TYPE parameter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_getinfo() function with CURLINFO_COOKIELIST parameter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_getinfo() function with CURLINFO_HTTP_VERSION parameter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_getinfo() function with CURLINFO_* from curl >= 7.52.0</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>curl_close</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_copy_handle() function with basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_copy_handle() with simple get</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_copy_handle() with simple POST</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_copy_handle() after exec()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_copy_handle() after exec() with POST</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_copy_handle() with User Agent</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_copy_handle() with simple POST</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_copy_handle() with CURLOPT_PROGRESSFUNCTION</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_copy_handle() change options in one handle</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_copy_handle() add options to the handles</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>curl_copy_handle() allows to post CURLFile multiple times</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>curl_copy_handle() allows to post CURLFile multiple times with curl_multi_exec()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>curl_copy_handle() allows to post CURLFile multiple times if postfields change</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>curl_error() function - basic test for curl_error using a fake url</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_escape and curl_unescape() functions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Memory corruption error if fp of just created file is closed before curl_close.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>CURL file uploading</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>CURL file uploading</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>CURL file uploading from stream</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test curl_exec() function with basic functionality</td><td>reason: PHP_CURL_FTP_REMOTE_SERVER env variable is not defined</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>curl_multi_close</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>curl_multi_close return false when suplied resorce not valid cURL multi handle</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>curl_multi_close closed by cleanup functions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>curl_multi_errno and curl_multi_strerror basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Curl_multi_getcontent() basic test with different sources (local file/http)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>array curl_multi_info_read ( resource $mh [, int &$msgs_in_queue = NULL ] );</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_multi_init()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Segfault due to libcurl connection caching</td><td>reason: PHP_CURL_FTP_REMOTE_SERVER env variable is not defined</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_multi_select()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>curl_multi_setopt basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>curl_multi_strerror basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_reset</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>cURL option CURLOPT_READFUNCTION</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>curl_setopt_array() function - tests setting multiple cURL options with curl_setopt_array()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>curl_setopt basic tests with CURLOPT_STDERR.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>curl_setopt() call with CURLOPT_HTTPHEADER</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>curl_setopt() call with CURLOPT_RETURNTRANSFER</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>curl_setopt() basic parameter test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>curl_share_close basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>curl_share_errno and curl_share_strerror basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>curl_share_setopt basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>curl_strerror basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl_version() basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>curl_version(): error conditions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl option CURLOPT_WRITEFUNCTION</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl option CURLOPT_FILE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl option CURLOPT_RETURNTRANSFER</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl option CURLOPT_FILE with STDOUT handle</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test curl option CURLOPT_HEADERFUNCTION</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>strtotime() function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>date suffixes test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>date() format params</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>idate() and invalid params</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>checkdate() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>localtime() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>getdate() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>strftime() and gmstrftime() tests</td><td>reason: posix only test.</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>strftime() and gmstrftime() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>timezone_abbreviations_list() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>timezone_name_from_abbr() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>date_isodate_set() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>date_date_set() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>timezone_offset_get() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>timezone object reference handling</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTimeZone::getOffset() accepts a DateTimeInterface object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Wrong var_dump(DateInterval->days) value</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateInterval::format(), except %a</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateInterval::format(), %a</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test that return value handling for DateInterval property writes do not corrupt RHS</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DatePeriod: Test getter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DatePeriod: Test read only properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DatePeriod: Test cannot modify read only properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test __set_state magic method for recreating a DatePeriod object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DatePeriod: Test wrong __construct parameter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DatePeriod: Test wrong recurrence parameter on __construct</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTimeImmutable constants</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Tests for DateTimeImmutable::createFromMutable.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTimeImmutable::modify() with invalid format</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test __set_state magic method for recreating a DateTimeImmutable object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTimeInterface constants</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test clone on DateTimeZone objects</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing clone on objects whoose class derived from DateTimeZone class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test clone of DateTimeZOne objects</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test clone of DateTimeZone derived objects with __clone magic method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test of compare object handler for DateTimeZone objects</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test new DateTimeZone() : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test new DateTimeZone() : error conditions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DateTimeZone class inheritance</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DateTimeZone::getLocation()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DateTimeZone::getName() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DateTimeZone::getOffset() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DateTimeZone::getTransitions() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DateTimeZone::listAbbreviations() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DateTimeZone::listIdentifiers function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test serialization of DateTimeZone objects</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test serialization of DateTimeZone objects</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test serialization of DateTimeZone objects</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test __set_state magic method for recreating a DateTimeZone object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DateTimeZone class registration</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::add() -- dates</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::add() -- fall type2 type2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>DateTime::add() -- fall type2 type3</td><td> XFAIL REASON: Various bugs exist</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>DateTime::add() -- fall type3 type2</td><td> XFAIL REASON: Various bugs exist</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>DateTime::add() -- fall type3 type3</td><td> XFAIL REASON: Various bugs exist</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::add() -- february</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::add() -- massive</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::add() -- spring type2 type2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>DateTime::add() -- spring type2 type3</td><td> XFAIL REASON: Various bugs exist</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>DateTime::add() -- spring type3 type2</td><td> XFAIL REASON: Various bugs exist</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>DateTime::add() -- spring type3 type3</td><td> XFAIL REASON: Various bugs exist</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test clone on DateTime objects</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test clone of objects whoose class derived from DateTime class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test clone of DateTime objects</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test clone of DateTime derived objects with __clone magic method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test of compare object handler for DateTime objects</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime constants</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::__construct() -- fall daylight/standard overlap</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test new DateTime() : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test new DateTime() : error conditions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Tests for DateTime::createFromImmutable.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::diff() days -- absolute</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::diff() days -- dates</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::diff() days -- fall type2 type2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::diff() days -- fall type2 type3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::diff() days -- fall type3 type2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::diff() days -- fall type3 type3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::diff() days -- february</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::diff() days -- massive</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::diff() days -- spring type2 type2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::diff() days -- spring type2 type3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::diff() days -- spring type3 type2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::diff() days -- spring type3 type3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::diff() -- absolute</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::diff() -- dates</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::diff() -- fall type2 type2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>DateTime::diff() -- fall type2 type3</td><td> XFAIL REASON: Various bugs exist</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>DateTime::diff() -- fall type3 type2</td><td> XFAIL REASON: Various bugs exist</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>DateTime::diff() -- fall type3 type3</td><td> XFAIL REASON: Various bugs exist</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::diff() -- february</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::diff() -- massive</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::diff() -- spring type2 type2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>DateTime::diff() -- spring type2 type3</td><td> XFAIL REASON: Various bugs exist</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>DateTime::diff() -- spring type3 type2</td><td> XFAIL REASON: Various bugs exist</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>DateTime::diff() -- spring type3 type3</td><td> XFAIL REASON: Various bugs exist</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DateTime class inheritance</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DateTime class inheritance : with user space __construct magic method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DateTime class inheritance : with user space fromat() method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test fix for DateTime when date have textual day with dot or other special char at end</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DateTime::format() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_format() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DateTime::getOffset() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DateTime::getTimezone() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DateTime::modify() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test serialization of DateTime objects</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DateTime::setDate() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DateTime::setISODate() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DateTime::setTime() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DateTime::setTimezone() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test __set_state magic method for recreating a DateTime object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::sub() -- dates</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::sub() -- fall type2 type2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>DateTime::sub() -- fall type2 type3</td><td> XFAIL REASON: Various bugs exist</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>DateTime::sub() -- fall type3 type2</td><td> XFAIL REASON: Various bugs exist</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>DateTime::sub() -- fall type3 type3</td><td> XFAIL REASON: Various bugs exist</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::sub() -- february</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::sub() -- massive</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::sub() -- spring type2 type2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>DateTime::sub() -- spring type2 type3</td><td> XFAIL REASON: Various bugs exist</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>DateTime::sub() -- spring type3 type2</td><td> XFAIL REASON: Various bugs exist</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>DateTime::sub() -- spring type3 type3</td><td> XFAIL REASON: Various bugs exist</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Extendig DatTime and calling __set_state without args</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Handling of large year values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #13142 (strtotime handling of "M d H:i:s Y" format)</td><td>reason: . set TZ env is not supported at runtime.</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #14561 (strtotime() bug)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #17988 (strtotime handling of postgresql timestamps)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #20382 [1] (strtotime ("Monday", $date) produces wrong result on DST changeover)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #20382 [2] (strtotime ("Monday", $date) produces wrong result on DST changeover)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #21399 (strtotime() request for "YYYYMMDDhhmmss [ZZZ]")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #21966 (date() or mktime() returning bad value for mktime month param of '2')</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #26090 (allow colons in time zone offset to strtotime())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #26198 (strtotime handling of "M Y" and "Y M" format)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #26317 (military timezone offset signedness)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #26320 (strtotime handling of XML Schema/ISO 8601 format)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #26694 (strtotime() request for "Sun, 21 Dec 2003 20:38:33 +0000 GMT")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #27780 (strtotime(+1 xxx) returns a wrong date/time)</td><td>reason: . Not the same TZ on windows.</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #28024 (Changed behavior of strtotime())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #28088 (strtotime() cannot convert 00 hours")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #28599 (strtotime fails with zero base time)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #29150 (Roman number format for months)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #29585 (Support week numbers in strtotime())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #29595 (Roman number format for months)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30096 (gmmktime does not return the corrent time)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30532 (strtotime - crossing daylight savings time)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #32086 (strtotime don't work in DST)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #32270 (strtotime/date behavior)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #32555 (strtotime("tomorrow") can return false)</td><td>reason: strftime uses system TZ</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #32588 (strtotime() error for 'last xxx' DST problem)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33056 (strtotime() does not parse 20050518t090000Z)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33414 [1] (Comprehensive list of incorrect days returned after strotime() / date() tests)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33414 [2] (Comprehensive list of incorrect days returned after strotime() / date() tests)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33415 [1] (Possibly invalid non-one-hour DST or timezone shifts)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33415 [2] (Possibly invalid non-one-hour DST or timezone shifts)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33452 (Support for year accompanying ISO week nr)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #33532 (Different output for strftime() and date())</td><td>reason: strftime uses system TZ on Darwin and Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33456 (strtotime defaults to now even on non time string)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33562 (date("") crashes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33563 (strtotime('+1 month',$abc) cant get right time)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33578 (strtotime() doesn't parse "11 Oct" format")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33869 (strtotime() doesn't parse "+1days" format)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33957 (gmdate('W')/date('W') sometimes returns wrong week number)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34087 (strtotime() does not work with date format "Y/m/d")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34304 (date('w') returns wrong number for sunday, 'N' modifier is missing)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34676 (missing support for strtotime("midnight") and strtotime("noon"))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34771 (strtotime() fails with 1-12am/pm)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35143 (gettimeofday() ignores current time zone)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35218 (strtotime no longer ignores timezone comments like "(PST)")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35414 (strtotime() no longer works with ordinal suffix)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35422 (strtotime() does not parse times with UTC as timezone)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35425 (idate() function ignores timezone settings)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35456 (+ 1 [time unit] format did not work)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35499 (strtotime() does not handle whitespace around the date string)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35624 (strtotime() does not handle 3 character weekdays)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35630 (strtotime() crashes on non-separated relative modifiers)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35699 (date() can't handle leap years before 1970)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35705 (strtotime() fails to parse soap date format without TZ)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35885 (strtotime("NOW") no longer works)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35887 (wddx_deserialize not parsing dateTime fields properly)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #36224 (date(DATE_ATOM) gives wrong resulsts)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #36510 (strtotime() fails to parse date strings with tabs)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #36599 (DATE_W3C format constant incorrect).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #36988 (mktime freezes on long numbers)</td><td>reason: this test is for 32-bit only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #37017 (strtotime fails before 13:00:00 with some time zones identifiers).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #37368 (Incorrect timestamp returned for strtotime()).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #37514 (strtotime doesn't assume year correctly).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #37616 (DATE_RFC822 does not product RFC 822 dates)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #37747 (strtotime segfaults when given "nextyear")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38229 (strtotime() does not parse YYYY-MM)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39782 (setTime() on a DateTime constructed with a Weekday yields incorrect results)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #40743 (DateTime ignores the TimeZone object passed to the constructor)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #40861 (Multiple +/- on relative units breaks strtotime())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41523 (strtotime('0000-00-00 00:00:00') is parsed as 1999-11-30) (64 bit)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #41523 (strtotime('0000-00-00 00:00:00') is parsed as 1999-11-30) (32 bit)</td><td>reason: 32-bit only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41599 (setTime() fails after modify() is used)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41709 (strtotime() does not handle 00.00.0000)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41842 (Cannot create years < 0100 & negative years with date_create or new DateTime)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41844 (Format returns incorrect number of digits for negative years -0001 to -0999)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41964 (strtotime returns a timestamp for non-time string of pattern '(A|a) .+')</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42910 (Constructing DateTime with TimeZone Indicator invalidates DateTimeZone)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43003 (Invalid timezone reported for DateTime objects constructed using a timestamp)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43075 (Support 24 as hour)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43452 ("weekday" is not equivalent to "1 weekday" of the current weekday is "weekday")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43527 (DateTime created from a timestamp reports environment timezone)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43808 (date_create never fails (even when it should))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43960 (strtotime() returns timestamp in the future when given a bogus string)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44562 (Creating instance of DatePeriod crashes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44742 (timezone_offset_get() causes segmentation faults)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44780 (some time zone offsets not recognized by timezone_name_from_abbr)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45081 (strtotime incorrectly interprets SGT time zone)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45529 (UTC not properly recognised as timezone identifier while parsing)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test for bug #45543: DateTime::setTimezone can not set timezones without ID.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45554 (Inconsistent behavior of the u format char)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45682 (Unable to var_dump(DateInterval))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45866 (decimal values fed to DateTime->modify() causes long execution times)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46108 (DateTime - Memory leak when unserializing)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46111 (strtotime() returns false for some valid timezones)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46268 (When call DateTime#setTime, it seems to be called the last modify method too)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46874 (DatePeriod not resetting after foreach loop)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48058 (Year formatter goes wrong with out-of-int range)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48097 (date_timezone_set function produces wrong datetime result)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48187 (DateTime::diff() corrupting microtime() result)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48276 (date("Y") prints wrong year on Big Endian machines)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48476 (cloning extended DateTime class without calling parent::__constr crashed PHP)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48678 (DateInterval segfaults when unserialising)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #49059 (DateTime::diff() repeats previous sub() operation)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #49081 (DateTime::diff() mistake if start in January and interval > 28 days)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #49585 (date_format buffer not long enough for >4 digit years)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #49700 (memory leaks in php_date.c if garbage collector is enabled)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #49778 (DateInterval::format("%a") is always zero when an interval is created from an ISO string)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #50555 (DateTime::sub() allows 'relative' time modifications).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #50392 (date_create_from_format enforces 6 digits for 'u' format character)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #50475 (DateTime::setISODate followed by DateTime::setTime)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #50680 ("eighth" quantifier is not understood)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #51096 (Test for "first day" vs "first day of")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #51393 (DateTime::createFromFormat() fails if format string contains timezone)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #51819 (Case discrepancy in timezone names cause Uncaught exception and fatal error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #51866 (Lenient parsing with parseFromFormat)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #51994 (date_parse_from_format is parsing invalid date using 'yz' format)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52062 (large timestamps with DateTime::getTimestamp and DateTime::setTimestamp) (64 bit)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #52062 (large timestamps with DateTime::getTimestamp and DateTime::setTimestamp) (32 bit)</td><td>reason: 32-bit only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52063 (DateTime constructor's second argument doesn't have a null default value)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52113 (Seg fault while creating (by unserialization) DatePeriod)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52290 (setDate, setISODate, setTime works wrong when DateTime created from timestamp)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52342 (DateTime setIsoDate results in wrong timestamp)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52430 (date_parse parse 24:xx:xx as valid time)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52454 (Relative dates and getTimestamp increments by one day)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>Bug #52480 (Incorrect difference using DateInterval)</td><td> XFAIL REASON: See https://bugs.php.net/bug.php?id=52480</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52577 (Incorrect date returning)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52668 (Iterating over a dateperiod twice is broken)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52738 (Can't use new properties in class extended from DateInterval)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52808 (Segfault when specifying interval as two dates)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53437 (Crash when using unserialized DatePeriod instance), variation 1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53437 (Crash when using unserialized DatePeriod instance), variation 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53437 DateInterval basic serialization</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #53437 DateInterval unserialize bad data, 32 bit</td><td>reason: 32 bit only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53437 (Check that var_dump out is the same using the whole object or it's single properties), variation 4</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53437 DateInterval unserialize bad data, 64 bit</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53437 DateInterval unserialize bad data, 64 bit</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53502 (strtotime with timezone memory leak)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53879 (DateTime::createFromFormat() fails to parse cookie expiration date)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54283 (new DatePeriod(NULL) causes crash)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54316 (DateTime::createFromFormat does not handle trailing '|' correctly)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54340 (DateTime::add() method bug)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54597 (incorrect years for DateTime objects created with 4-digit years)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54851 (DateTime::createFromFormat() doesn't interpret "D")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55253 (DateTime::add() and sub() result -1 hour on objects with time zone type 2)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55397 (comparison of incomplete DateTime causes SIGSEGV)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55407 (Impossible to prototype DateTime::createFromFormat)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60236 (TLA timezone dates are not converted properly from timestamp)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60774 (DateInterval::format("%a") is always zero when an interval is created using the createFromDateString method)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61642 (modify("+5 weekdays") returns Sunday)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62500 (Segfault in DateInterval class when extended)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62561 Unixtimestamp may take on local times DST flag (this test will only be valid during EDT)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62852 (Unserialize invalid DateTime causes crash), variation 1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62852 (Unserialize invalid DateTime causes crash), variation 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62852 (Unserialize invalid DateTime causes crash), variation 3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62896 Unixtimestamp may take on local times DST flag (this test will only be valid during CEST)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test for #63391 (Incorrect/inconsistent day of week prior to the year 1600)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63435 Datetime::format('u') sometimes wrong by 1 microsecond</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63740 (strtotime seems to use both sunday and monday as start of week)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test for bug #64157: DateTime::createFromFormat() reports confusing error message</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64887: Allow DateTime modification with subsecond items</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test bug #65184 strftime() returns insufficient-length string under multibyte locales</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing bug #65371</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test for bug #65502: DateTimeImmutable::createFromFormat returns DateTime</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test for bug #65548: Comparison for DateTimeImmutable doesn't work</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test for bug #65672: Broken classes inherited from DatePeriod</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test for bug #66721: __wakeup of DateTime segfaults when invalid object data is supplied</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66836 (DateTime::createFromFormat 'U' with pre 1970 dates fails parsing)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66985 (Some timezones are no longer valid in PHP 5.5.10)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67109 (First uppercase letter breaks date string parsing)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67118 crashes in DateTime when this used after failed __construct</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Regression introduce in fix for Bug #67118 - Invalid code</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67251 (date_parse_from_format out-of-bounds read)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67253 (timelib_meridian_with_check out-of-bounds read)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67308 (Serialize of DateTime truncates fractions of second)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Comparing datetime objects should account for microseconds</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Comparing datetime objects with negative timestamps should account for microseconds</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68406 calling var_dump on a DateTimeZone object modifies it</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::createFromFormat() does not allow NULL $timezone</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68942 (Use after free vulnerability in unserialize() with DateTimeZone).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68942 (Use after free vulnerability in unserialize() with DateTime).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69089 (Add support for RFC3339 extended to DateTime::format)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69336 (Issues with "last day of <monthname>")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69587 (DateInterval properties and isset)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70153 (\DateInterval incorrectly unserialized)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70245 (strtotime does not emit warning when 2nd parameter is object or string)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70266 (DateInterval::__construct.interval_spec is not supposed to be optional)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70277 (new DateTimeZone($foo) is ignoring text after null byte)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70810: DateInterval equals every other DateInterval</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71525 (Calls to date_modify will mutate timelib_rel_time, causing date_date_set issues)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71635 (segfault in DatePeriod::getEndDate() when no end date has been set)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71889 (DateInterval::format segfault on '%' input)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72096: Swatch time value incorrect for dates before 1970</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72719: Relative datetime format ignores weekday on sundays only</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73091 (Unserializing DateInterval object may lead to __toString invocation)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73294: DateTime wrong when date string is negative</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73426 (createFromFormat with 'z' format char results in incorrect time)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73489: wrong timestamp when call setTimeZone multi times with UTC offset</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73837: Milliseconds in DateTime()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73858: diff() of two relative/described DateTimes is wrong</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73942: $date->modify('Friday this week') doesn't return a Friday if $date is a Sunday</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74057: wrong day when using "this week" in strtotime</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74080 Provide an RFC7231 date time format</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74639 Cloning DatePeriod leads to segfault</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test for bug #74652: Incomplete dates</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74852 property_exists returns true on unknown DateInterval property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75002 Null Pointer Dereference in timelib_time_clone</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75222 DateInterval microseconds property always 0</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75232: print_r of DateTime creating side-effect</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test for bug #75577: DateTime::createFromFormat does not accept 'v' format specifier</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test for bug #75851: Year component overflow with date formats "c", "o", "r" and "y"</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Failing test case for #75857: Long timezones truncation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75928: Argument 2 for `DateTimeZone::listIdentifiers()` should accept `null`</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76462 Undefined property: DateInterval::$f</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77097 (DateTime::diff gives wrong diff when the actual diff is less than 1 second)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78383: Casting a DateTime to array no longer returns its properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78751 (Serialising DatePeriod converts DateTimeImmutable)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79015 (undefined-behavior in php_date.c)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test for setting Date/Time during a forward DST transition</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Call to date function from a method and call to date method from call_user_func</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_create() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test for + character in date format</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test for + character in date format</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test for date_parse_by_format()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTime::setTimestamp()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test for DateTime::modify() with absolute time statements</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>date() function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_add() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Date constants</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>date_create() function [1]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>date_create() function [2]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>date_create() with large relative offsets</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_create() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>date_create_from_format() return false</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_date_set() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>date_default_timezone_get() function [1]</td><td>reason: on windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>date_default_timezone_get() function [2]</td><td>reason: on windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>date_default_timezone_get() function [3]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>date_default_timezone_get() function [4]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>date_default_timezone_set() function [1]</td><td>reason: diff TZ detection on windows.</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_default_timezone_set() function : error variations</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Extensive test for date_diff().</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test for date_diff with timezone abbreviations.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_format() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>date_get_last_errors() return false</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_interval_create_from_date_string() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_interval_create_from_date_string() function : nonsense data</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_interval_create_from_date_string() function : null parameter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_interval_format() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DateInterval props with dimension handling</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_isodate_set() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>date_modify() function [1]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>date_modify() function [2]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_modify() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_offset_get() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test basic date_parse()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_parse() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_parse() function : error conditions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DatePeriod</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DatePeriod</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_sub() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test basic date_sun_info()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test basic date_sun_info()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test basic date_sun_info()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Basic test for date_sunrise and date_sunset based on example in PHP manual</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_sunrise() function : usage variation - Checking sunrise for consecutive days in specific timezone</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_sunrise() function : usage variation - Checking with North and South poles when Sun is up and down all day</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test date_sunrise() function : usage variation - Passing high positive and negative float values to time argument.</td><td>reason: this test is for 32-bit only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_sunset() function : usage variation - Checking sunrise for consecutive days in specific timezone</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_sunset() function : usage variation - Checking with North and South poles when Sun is up and down all day</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test date_sunset() function : usage variation - Passing high positive and negative float values to time argument.</td><td>reason: this test is for 32-bit only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Fractions with DateTime objects</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Fractions with DateTime objects (create_from_format)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Fractions with DateTime objects (Serialization)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Tests for DateTimeImmutable.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Tests for DateTimeImmutable.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DateTimeImmutable - invalid arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_time_set() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test the basics to function date_timestamp_get().</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test the basics to function date_timestamp_set().</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test the function date_timestamp_set() with second null parameter.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_timezone_get() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test date_timezone_set() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>date.timezone setting [1]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>date.timezone setting [2]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>strtotime() - Format: @timestamps</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test for Date/Time construction during a forward DST transition</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test getdate() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test getdate() function : usage variation - Passing octal timestamp values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test getdate() function : usage variation - Passing hexadcimal timestamp values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test getdate() function : usage variation - Verifyig by supplying year-wise sample time stamps since Unix epoch time</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test getdate() function : usage variation - Verifyig with different timezones on Unix epoch timestamp</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test getdate() function : usage variation - Passing strings containing numbers</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test getdate() function : usage variation - Passing high positive and negative float values to timestamp.</td><td>reason: this test is for 32-bit only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gettimeofday() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmdate() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmdate() function : usage variation - Passing Timezone format options to format argument.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmdate() function : usage variation - Passing Full Date/Time format options to format argument.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmdate() function : usage variation - Valid and invalid range of timestamp.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmdate() function : usage variation - Passing predefined constants to format argument.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test gmdate() function : usage variation - Passing high positive and negetive float values to timestamp.</td><td>reason: this test is for 32-bit only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmdate() function : usage variation - Passing numeric representation of day formats.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmdate() function : usage variation - Passing textual representation of day formats.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmdate() function : usage variation - Passing Week representation to format.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmdate() function : usage variation - Passing Month format options to format argument.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmdate() function : usage variation - Passing Year format options to format argument.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmdate() function : usage variation - Passing Time format options to format argument.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmmktime() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmmktime() function : usage variation - Checking with few optional arguments.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmmktime() function : usage variation - Passing octal and hexadecimal values to arguments.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmmktime() function : usage variation - Passing positive and negative float values to arguments.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmstrftime() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test gmstrftime() function : usage variation - Checking week related formats which are supported other than on Windows.</td><td>reason: Test is not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmstrftime() function : usage variation - Checking month related formats which was not supported on Windows before VC14.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test gmstrftime() function : usage variation - Checking month related formats which are supported other than on Windows.</td><td>reason: Test is not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmstrftime() function : usage variation - Checking date related formats which was not supported on Windows before VC14.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test gmstrftime() function : usage variation - Checking date related formats which are supported other than on Windows.</td><td>reason: Test is not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmstrftime() function : usage variation - Checking time related formats which was not supported on Windows before VC14.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test gmstrftime() function : usage variation - Checking time related formats which are supported other than on Windows.</td><td>reason: Test is not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmstrftime() function : usage variation - Checking day related formats which was not supported on Windows before vc14.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test gmstrftime() function : usage variation - Checking day related formats which are supported other than on Windows.</td><td>reason: Test is not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmstrftime() function : usage variation - Checking newline and tab formats which was not supported on Windows before VC14.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test gmstrftime() function : usage variation - Checking newline and tab formats which are supported other than on Windows.</td><td>reason: Test is not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmstrftime() function : usage variation - Checking Preferred date and time representation on Windows.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test gmstrftime() function : usage variation - Checking Preferred date and time representation other than on Windows.</td><td>reason: Test is not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmstrftime() function : usage variation - Passing week related format strings to format argument.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmstrftime() function : usage variation - Passing month related format strings to format argument.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmstrftime() function : usage variation - Passing date related format strings to format argument.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmstrftime() function : usage variation - Passing time related format strings to format argument.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmstrftime() function : usage variation - Passing day related format strings to format argument.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmstrftime() function : usage variation - Passing literal related strings to format argument.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test gmstrftime() function : usage variation - Checking week related formats which was not supported on Windows before vc14.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test idate() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test idate() function : usage variation - Passing higher positive and negetive float values to timestamp.</td><td>reason: this test is for 32-bit only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test idate() function : usage variation - Passing supported Date format characters to format argument.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test idate() function : usage variation - Passing supported Time format characters to format argument.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test idate() function : usage variation - Checking return of year(1 or 2 digits) format starting with zero and nonzero.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test invalid time zone passed to ini_set</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test localtime() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test localtime() function : usage variation - Passing higher positive and negetive float values to timestamp.</td><td>reason: this test is for 32-bit only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test localtime() function : usage variation - Passing octal values to timestamp.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test localtime() function : usage variation - Passing hexa decimal values to timestamp.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test return type and value for expected input microtime()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test wrong number of arguments for microtime()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Check for mktime with out-of-range parameters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mktime() [3] (64-bit)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mktime() [3] (32-bit)</td><td>reason: 32-bit only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mktime() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mktime() function : error conditions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>date OO interface</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>date OO cloning</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>RFC: DateTime and Daylight Saving Time Transitions (zone type 1)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>RFC: DateTime and Daylight Saving Time Transitions (zone type 2)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>RFC: DateTime and Daylight Saving Time Transitions (zone type 3, ba)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>RFC: DateTime and Daylight Saving Time Transitions (zone type 3, bd1)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>RFC: DateTime and Daylight Saving Time Transitions (zone type 3, bd2)</td><td> XFAIL REASON: Still not quite right</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>RFC: DateTime and Daylight Saving Time Transitions (zone type 3, bs)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>RFC: DateTime and Daylight Saving Time Transitions (zone type 3, fa)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>RFC: DateTime and Daylight Saving Time Transitions (zone type 3, fd)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>RFC: DateTime and Daylight Saving Time Transitions (zone type 3, fs)</td><td> XFAIL REASON: Still not quite right</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strftime() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test strftime() function : usage variation - Checking week related formats which are supported other than on Windows.</td><td>reason: Test is not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strftime() function : usage variation - Checking month related formats which was not supported on Windows before VC14.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test strftime() function : usage variation - Checking month related formats which are supported other than on Windows.</td><td>reason: Test is not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strftime() function : usage variation - Checking date related formats which was not supported on Windows before VC14.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test strftime() function : usage variation - Checking date related formats which are supported other than on Windows.</td><td>reason: Test is not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strftime() function : usage variation - Checking time related formats which was not supported on Windows before VC14.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test strftime() function : usage variation - Checking time related formats which are supported other than on Windows.</td><td>reason: Test is not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strftime() function : usage variation - Checking day related formats which was not supported on Windows before VC14.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test strftime() function : usage variation - Checking day related formats which are supported other than on Windows.</td><td>reason: Test is not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strftime() function : usage variation - Checking newline and tab formats which was not supported on Windows before VC14.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test strftime() function : usage variation - Checking newline and tab formats which are supported other than on Windows.</td><td>reason: Test is not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strftime() function : usage variation - Checking Preferred date and time representation on Windows.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test strftime() function : usage variation - Checking Preferred date and time representation other than on Windows.</td><td>reason: Test is not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test strftime() function : usage variation - Checking large positive and negative float values to timestamp.</td><td>reason: this test is for 32-bit only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strftime() function : usage variation - Passing week related format strings to format argument.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strftime() function : usage variation - Passing month related format strings to format argument.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strftime() function : usage variation - Passing date related format strings to format argument.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strftime() function : usage variation - Passing time related format strings to format argument.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strftime() function : usage variation - Passing day related format strings to format argument.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strftime() function : usage variation - Passing literal related strings to format argument.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test strftime() function : usage variation - Checking week related formats which was not supported on Windows before VC14.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>strtotime() and mysql timestamps (64 bit)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>strtotime() and mysql timestamps (32 bit)</td><td>reason: 32-bit only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>strtotime() with relative offsets</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>strtotime() function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>strtotime() on date constants</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>strtotime() function (64 bit)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>strtotime() function (32 bit)</td><td>reason: 32-bit only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>strtotime() function - a test to show the difference in behaviour between 'first' and '1', "second" and "2"...</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>strtotime() with return false</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Checking whisky time</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>date_sunrise() and date_sunset() functions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>date_create_from_format() and date_parse_from_format().</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test return type and value for expected input time()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Format timestamp in DST test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>timezone configuration [1]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test timezone_abbreviations_list() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test timezone_identifiers_list() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>timezone_identifiers_list: Test that correct notice is given when timezone_identifiers_list is given 4096 as parameter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>timezone_location_get: Test that timezone_location_get returns a correct array of information</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test timezone_name_from_abbr() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test timezone_offset_get() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test timezone_offset_get() function : error conditions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test timezone_open() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test timezone_transitions_get() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test the basics to function timezone_version_get().</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>timezone_version_get: Test that timezone_location_get returns a date concatenated with a dot and a version number</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>timezone_identifiers_list()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>setting bogus timezones</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMAttr __construct() with no arguments.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMAttr read $name property.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Read $ownerElement with null parent.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Read empty $value.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Write non-string $value property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>__construct() with no arguments.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMCharacterData::appendData basic functionality test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Create CDATA section and change it using DOMcreateCDATASection</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Invalid State Error when getting data on DOMCharacterData out of content.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMCharacterData::deleteData() with count exceeding string size.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMCharacterData::deleteData() with offset exceeding string size.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Invalid State Error when getting length on DOMCharacterData out of content.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>__DOMCharacterData::substringData pull mid section of string</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test adding data to a DOMComment</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMComment::appendData basic functionality test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMComment::__construct() with constructor called twice.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMComment::__construct() with more arguments than acceptable.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test inserting data into a DOMComment basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test inserting data into a DOMComment basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test inserting data into a DOMComment basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test replacing data into a DOMComment basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test replacing data into a DOMComment basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test replacing data into a DOMComment basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocumentFragment::appendXML() with children with properties.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocumentFragment::appendXML() with unbound fragment.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocumentFragment::appendXML() with unbalanced chunks.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing DOMDocumentFragment::appendXML and DOMDocumentFragment::hasChildNodes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocumentFragment::__construct().</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocumentFragment::__construct() called twice.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocumentFragment::__construct() with too many errors.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocumentType: basic access to all properties.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocumentType::entities with invalid state.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocumentType::internalSubset with invalid state.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocumentType::name with invalid state.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocumentType::notations with invalid state.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocumentType::publicId with empty value.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocumentType::publicId with invalid state.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocumentType::systemId with empty value.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocumentType::systemId with invalid state.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Tests DOMDocument::config read</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DomDocument::createAttribute() - basic test for DomDocument::createAttribute()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::createAttribute() for expected expection thrown when wrong parameter passed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DomDocument::createAttribute() - error test for DomDocument::createAttribute()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::createAttribute() for expected return value</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::createEntityReference() should create a new entity reference node</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DomDocument::createEntityReference() - DOM_INVALID_CHARACTER_ERR raised if name contains an invalid character</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DomDocument::createProcessingInstruction() - basic test for DomDocument::createProcessingInstruction()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DomDocument::createProcessingInstruction() - error test for DomDocument::createProcessingInstruction()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Tests DOMDocument::documentURI read and write</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::$encoding - read/write tests (dom_document_encoding_read/dom_document_encoding_write)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::DOMImplementation - basic test for DomDocument::DOMImplementation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::loadHTML</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::loadHTML() should fail if empty string provided as input</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::loadHTMLFile</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::loadHTMLFile when the file doesn't exist</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::loadHTMLFile when an empty string is passed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::loadHTMLFile when an empty document is loaded</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::loadHTMLFile when a not-well formed document is loaded</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::loadXML() basic behavior</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::loadXML() detects not-well formed XML</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::loadXML() detects not-well formed XML</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::loadXML() detects not-well formed XML</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::loadXML() detects not-well formed XML</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::loadXML() detects not-well formed XML</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::loadXML() with LIBXML_DTDLOAD option</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::loadXML() with LIBXML_DTDVALID option</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::loadXML() with LIBXML_DTDVALID and LIBXML_NOERROR options</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::loadXML() with LIBXML_DTDATTR, LIBXML_NOCDATA, LIBXML_NOENT, LIBXML_NOBLANKS</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::load() basic behavior</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::load() detects not-well formed XML</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::load() detects not-well formed XML</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::load() detects not-well formed XML</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::load() detects not-well formed XML</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::load() detects not-well formed XML</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::load() with LIBXML_DTDLOAD option</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::load() with LIBXML_DTDVALID option</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::load() with LIBXML_DTDVALID and LIBXML_NOERROR options</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMDocument::load() with LIBXML_DTDATTR, LIBXML_NOCDATA, LIBXML_NOENT, LIBXML_NOBLANKS</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::$preserveWhiteSpace - test ability to read and write property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::$preserveWhiteSpace - test ability to read and write property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::relaxNGValidateSource()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::relaxNGValidateSource() should fail if document doesn't validate</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::relaxNGValidateSource() should fail on invalid RNG schema</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::relaxNGValidate()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::relaxNGValidate() should fail if document doesn't validate</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::relaxNGValidate() should fail on invalid RelaxNG file source</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Tests DOMDocument::resoleExternals get and set</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::saveHTMLFile() should dump the internal document into a file using HTML formatting</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::saveHTMLFile() should fail if called statically</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::saveHTMLFile() should format output on demand</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::saveHTMLFile() should fail with invalid filename</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::saveHTML() should dump the internal document into a string using HTML formatting</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::saveHTML() should fail if called statically</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::saveHTML() optional parameters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::saveHTML() vs DOMDocumet::saveXML()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::save Test basic function of save method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOM Document : save and saveXML</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DomDocument::schemaValidateSource() - Add missing attribute default values from schema</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DomDocument::schemaValidateSource() - basic</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DomDocument::schemaValidateSource() - string that is not a schema</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DomDocument::schemaValidateSource() - non-conforming schema</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DomDocument::schemaValidateSource() - empty string for schema string</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DomDocument::schemaValidateSource() - Don't add missing attribute default values from schema</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DomDocument::schemaValidate() - Add missing attribute default values from schema</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DomDocument::schemaValidate() - basic</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DomDocument::schemaValidate() - file that is not a schema</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DomDocument::schemaValidate() - non-conforming schema file</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DomDocument::schemaValidate() - empty string for schema file name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DomDocument::schemaValidate() - non-existent schema file</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DomDocument::schemaValidate() - Don't add missing attribute default values from schema</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Tests DOMDocument::standalone get, set, and functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DomDocument::$strictErrorChecking - basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DomDocument::$strictErrorChecking - ensure turning off actually works</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::validate() should validate an internal DTD declaration</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::validate() should fail if called statically</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::validate() should validate an external DTD declaration</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::$validateOnParse - read/write tests (dom_document_validate_on_parse_read/dom_document_validate_on_parse_write)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMDocument::$validateOnParse - effectual determination (dom_document_validate_on_parse_read/dom_document_validate_on_parse_write)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMNode: hasAttributes()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMEntityReference - read $nodeName property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMEntityReference - DOM_INVALID_CHARACTER_ERR raised if name contains an invalid character</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMImplementation::createDocumentType()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMImplementation::createDocument()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMImplementation::hasFeature()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test count nodes in DOMNamedNodeMap</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMNode::C14NFile()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMNode::C14N()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOM cloneNode : Basic Functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMNode::getLineNo()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMNode::getNodePath()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Tests DOMNode::hasChildNodes()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test whether a node has child nodes: hasChildNodes()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Tests DOMNode::insertBefore()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMNode::insertBefore() should fail if node belongs to another document</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMNode::insertBefore() check the error code DOM_NOT_FOUND is raised</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMNode::insertBefore() check the error code DOM_NOT_FOUND is raised</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMNode::insertBefore() check the error code DOM_NOT_FOUND is raised</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMNode::insertBefore() check the error code DOM_NOT_FOUND is raised</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test DOMNode::insertBefore() check the error code DOM_NOT_FOUND is raised</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMNode: isSameNode()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMNode::normalize()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOM removeChild : Basic Functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Replacing a child node</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMText::appendData basic functionality test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test count nodes in DOMNodeList</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #28721 (appendChild() and insertBefore() unset DOMText)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #28817 (properties in extended class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #32615 (Replacing and inserting Fragments)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34276 (setAttributeNS and default namespace)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35342 (isset(DOMNodeList->length) returns false)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35673 (formatOutput does not work with saveHTML).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #36756 (DOMDocument::removeChild corrupts node)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #37277 (cloning Dom Documents or Nodes does not work)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #37456 (DOMElement->setAttribute() loops forever)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38438 (DOMNodeList->item(0) segfault on empty NodeList)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38474 (getAttribute select attribute by order, even when prefixed) (OK to fail with libxml2 < 2.6.2x)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38850 (lookupNamespaceURI does not return default namespace)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38949 (Cannot get xmlns value attribute)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #40836 (Segfault in insertBefore)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41257 (lookupNamespaceURI does not work as expected)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41374 (wholetext concats values of wrong nodes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42082 (NodeList length zero should be empty)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43364 (recursive xincludes don't remove internal xml nodes properly)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44648 (Attribute names not checked for well formedness)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45251 (double free or corruption with setAttributeNode())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46185 (importNode changes the namespace of an XML element).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46335 (DOMText::splitText doesn't handle multibyte characters).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46849 (Cloning DOMDocument doesn't clone the properties).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47430 (Errors after writing to nodeValue parameter of an absent previousSibling).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47848 (importNode doesn't preserve attribute namespaces)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47849 (Non-deep import loses the namespace).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #49463 (setAttributeNS fails setting default namespace).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #49490 (XPath namespace prefix conflict).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #50661 (DOMDocument::loadXML does not allow UTF-16).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52656 (DOMCdataSection does not work with splitText).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54382 DOMNode::getAttributeNodeNS doesn't get xmlns* attributes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Segfault when removing the Doctype node</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61858 DOMAttr debug info generates E_WARNING</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>bug #65196 (Passing DOMDocumentFragment to DOMDocument::saveHTML() Produces invalid Markup)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66502 (DOM document dangling reference)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67081 DOMDocumentType->internalSubset returns entire DOCTYPE tag, not only the subset</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67474 getElementsByTagNameNS and default namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67949: DOMNodeList elements should be accessible through array notation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69373 References to deleted XPath query results</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69679 (DOMDocument::loadHTML refuses to accept NULL bytes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69846 Segmenation fault (access violation) when iterating over DOMNodeList</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70001 (Assigning to DOMNode::textContent does additional entity encoding)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70558 ("Couldn't fetch" error in DOMDocument::registerNodeClass())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73907 nextSibling property not included in var_dump of DOMNode</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74004 (DOMDocument->loadHTML and ->loadHTMLFile do not heed LIBXML_NOWARNING and LIBXML_NOERROR options)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74416 Wrong reflection on DOMNode::cloneNode</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75451 (Assertion fails while foreach on empty xpath query)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76285 DOMDocument::formatOutput attribute sometimes ignored</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76738 Wrong handling of output buffer</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77569 (Write Access Violation in DomImplementation)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78025 (segfault when accessing properties of DOMDocumentType)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78221 (DOMNode::normalize() doesn't remove empty text nodes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79271 (DOMDocumentType::$childNodes is NULL)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test: Canonicalization - C14N()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test 1: Accessing single node</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test 2: getElementsByTagName() / getElementsByTagNameNS()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test 3: Exception Test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test 4: Streams Test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test 5: HTML Test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test 6: Extends Test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test 7: DTD tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOM Comment : Basic Functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOM Comment : Variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test 1: Creating Elements with and without Namespaces</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Interop Test: Import from SimpleXML</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test: setAttributeNode()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test: Xinclude and Streams</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Attributes: DOMAttribute functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>CharData: DOMCharacterData and related functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DomDocument::CreateEntityReference() - Creates an entity reference with the appropriate name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Elements: DOMElement functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Objects of DOM extension: debug info object handler.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>DOMXPath Tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing reading and writing to DOMNode::textContent</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test: registerNodeClass()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Handling of exceptions during __toString</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: ADLER32 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52240 (hash_copy() does not copy the HMAC key, causes wrong results and PHP crashes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64745 (hash_pbkdf2() truncates data when using default length and hex output)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70312 (HAVAL gives wrong hashes in specific cases)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73127 (gost-crypto hash incorrect if input data contains long 0xFF sequence)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: CRC32 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: FNV132 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: FNV164 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: FNV1a32 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: FNV1a64 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: gost algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hash_copy() via clone</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hash_algos() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hash_copy() basic tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hash_equals() test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hash() function : error conditions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hash_file() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hash_file() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hash_file() function : error conditions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hash_hkdf() function: basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hash_hkdf() function: edge cases</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hash_hkdf() function: error conditions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hash_hkdf() function: RFC 5869 test vectors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hash_hmac_algos() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hash_file() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hash_hmac() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hash_hmac_file() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hash_hmac_file() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hash_init() function - errors test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hash_pbkdf2() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: Test hash_pbkdf2() function : error functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hash_update_file() test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hash_update_stream() test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: haval algorithm (multi-vector, multi-pass, multi-width)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: hmac-md5 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: Jenkins's one-at-a-time</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: md2 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: md4 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: md5 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MHash: mhash() test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MHash: mhash_get_block_size() & mhash_get_hash_name() test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MHash: mhash_keygen_s2k() test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MHash: mhash() modifying algorithm parameter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: Attempt to instantiate a HashContext directly</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: Attempt to reuse a closed hash context</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: ripemd128 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: ripemd160 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: ripemd256 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: ripemd320 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: Context serialization</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: sha1 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: sha224 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: sha256 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: sha3 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: sha384 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: sha512/224 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: sha512/256 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: sha512 algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: snefru algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: tiger algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Hash: whirlpool algorithm</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Check that bad arguments return the same</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::__construct() should not be callable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlRuleBasedBreakIterator::__construct(): arg errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator: clone handler</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::createCodePointInstance(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::createCodePointInstance(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::current(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator factories: basic tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator factory methods: argument errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::first(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::first()/last()/previous()/current(): arg errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::following(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::following()/preceding()/isBoundary(): arg errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlBreakIterator::getLocale(): basic test</td><td>reason: for ICU < 53.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlBreakIterator::getLocale(): basic test</td><td>reason: for ICU < 64.0</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::getLocale(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::getLocale(): arg errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlBreakIterator::getPartsIterator(): basic test, ICU <= 57.1</td><td>reason: for ICU <= 57.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::getPartsIterator(): basic test, ICU >= 58.1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::getPartsIterator(): bad args</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::getPartsIterator(): argument variations</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::getText(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::getText(): arg errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::isBoundary(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::last(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::next(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::next(): arg errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlBreakIterator::preceding(): basic test, ICU <= 57.1</td><td>reason: for ICU <= 57.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::preceding(): basic test, ICU >= 58.1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::previous(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::setText(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::setText(): arg errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>locale_get_keywords() bug #12887</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #14562 NumberFormatter breaks when locale changes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48227 (NumberFormatter::format leaks memory)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #50590 (IntlDateFormatter::parse result is limited to the integer range)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53512 (NumberFormatter::setSymbol crash on bogus $attr values)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53735 NumberFormatter returns NaN when converting float point</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>grapheme_substr() - Bug55562 - grapheme_substr() returns false if length parameter is to large</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #58756: w.r.t MessageFormatter</td><td>reason: for ICU < 51.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #58756: w.r.t MessageFormatter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug#59597 NumberFormatter::parse() with TYPE_INT64 results in a 32 bit integer</td><td>reason: 32-bit only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug#59597 NumberFormatter::parse() with TYPE_INT64 results in a 32 bit integer</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60192 (SegFault when Collator not constructed properly)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60192 (SegFault when Collator not constructed properly)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60192 (SegFault when Collator not constructed properly)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60192 (SegFault when Collator not constructed properly)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60192 (SegFault when Collator not constructed properly)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>grapheme() str[i]pos limits</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61860: Offsets may be wrong for grapheme_stri* functions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62017: datefmt_create with incorrectly encoded timezone leaks pattern</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #62070: Collator::getSortKey() returns garbage</td><td>reason: for ICU < 53.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #62070: Collator::getSortKey() returns garbage</td><td>reason: for ICU < 62.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62070: Collator::getSortKey() returns garbage</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62081: IntlDateFormatter leaks memory if called twice</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62082: Memory corruption in internal get_icu_disp_value_src_php()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62083: grapheme_extract() leaks memory</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62759: Buggy grapheme_substr() on edge case</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62915: cloning of several classes is defective</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62915: incomplete cloning of IntlTimeZone objects</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65732 (grapheme_*() is not Unicode compliant on CR LF sequence)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66921 - Wrong argument type hint for function intltz_from_date_time_zone</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67052 - NumberFormatter::parse() resets LC_NUMERIC setting</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #67052 - NumberFormatter::parse() resets LC_NUMERIC setting</td><td>reason: Valid only on non Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67397 (Buffer overflow in locale_get_display_name->uloc_getDisplayName (libicu 4.8.1))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68447: grapheme_extract take an extra trailing character</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlDateFormatter::formatObject(): returns wrong utf8 value when $format param is utf8 string pattern.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlDateFormatter::formatObject(): returns wrong value when time style is NONE.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70451 IntlChar::charFromName() not consistent with C library or HHVM</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70452 string IntlChar::charName() can sometimes return bool(false)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71020 (Use after free in Collator::sortWithSortKeys)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72061: Out-of-bounds reads in zif_grapheme_stripos with negative offset</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72241: get_icu_value_internal out-of-bounds read</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72506 (idn_to_ascii with INTL_IDNA_VARIANT_UTS46 fatals for long domain names)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72533 (locale_accept_from_http out-of-bounds access)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72639 (Segfault when instantiating class that extends IntlCalendar and adds a property)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74230 iconv fails to fail on surrogates</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74298 (IntlDateFormatter->format() doesn't return microseconds/fractions)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74433 Wrong reflection on the Normalizer methods</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #74468 Wrong reflection on Collator::sortWithSortKeys</td><td>reason: for ICU < 51.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74484 MessageFormatter::formatMessage memory corruption with 11+ named placeholder</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74705 Wrong reflection on Collator::getSortKey</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75090 Constants of parent IntlCalendar class not inherited</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75193 segfault in collator_convert_object_to_string</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75317 (UConverter::setDestinationEncoding changes source instead of destinatination)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75318 (The parameter of UConverter::getAliases() is not optional)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75378 ([REGRESSION] IntlDateFormatter::parse() does not change $position argument)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76556 (get_debug_info handler for BreakIterator shows wrong type)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77895: IntlDateFormatter::create fails in strict mode if $locale = null</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78804: Segmentation fault in Locale::filterMatches</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Request #78912 (INTL Support for accounting format)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #79212 (NumberFormatter::format() may detect wrong type)</td><td>reason: gmp extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::add() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::add(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::before()/after(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::clear() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::clear(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::clear() 1 arg variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::FIELD_FIELD_COUNT</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::createInstance() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::createInstance: bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::createInstance() argument variations</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::equals(), ::before() and ::after() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::equals(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::fieldDifference() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::fieldDifference(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::fromDateTime(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::fromDateTime(): errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getAvailableLocales() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getAvailableLocales(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlCalendar::getDayOfWeekType() basic test</td><td>reason: for ICU < 52.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getDayOfWeekType() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getDayOfWeekOfType(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getErrorCode(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getErrorCode(), ::getErrorMessage() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getErrorMessage(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getFirstDayOfWeek() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getFirstDayOfWeek(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getKeywordValuesForLocale() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getKeywordValuesForLocale(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getLocale() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getLocale(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getMinimalDaysInFirstWeek() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getMinimalDaysInFirstWeek(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getNow() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getNow(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getSkipped/RepeatedWallTimeOption(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getTimeZone() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getTimeZone(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getTime() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getTime(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getType() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getType(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getWeekendTransition() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getWeekendTransition(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getMaximum(), ::getActualMaximum(), ::getLeastMaximum() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getMinimum(), ::getActualMinimum(), ::getGreatestMinimum() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::get/Least/Greatest/Minimum/Maximum(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::get() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::get/getActualMaximum/getActualMinimum(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::get/getActualMaximum/getActualMinimum(): bad arguments (procedural)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::get/setRepeatedWallTimeOption(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::get/setSkippedWallTimeOption(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::inDaylightTime() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::inDaylightTime(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::isEquivalentTo() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::isEquivalentTo(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::isLenient(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::isSet() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::isSet(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::isWeekend basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::isWeekend(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::isLenient(), ::setLenient() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::roll() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::roll(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::roll() bool argument variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::setFirstDayOfWeek() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::setFirstDayOfWeek(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::setLenient(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::setMinimalDaysInFirstWeek() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::setMinimalDaysInFirstWeek(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::setSkipped/RepeatedWallTimeOption(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::setTimeZone() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::setTimeZone(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::setTimeZone(): valid time zones for DateTime but not ICU</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::setTimeZone() variation with NULL arg</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::setTimeZone(): different ways to specify time zone</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::setTime() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::setTime(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::set() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::set(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::set() argument variations</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::toDateTime(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::toDateTime(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Collation customization</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>asort()</td><td>reason: for ICU < 51.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>asort()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>compare()</td><td>reason: for ICU < 51.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>compare()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>create() icu >= 4.8 && icu < 53.1</td><td>reason: for ICU < 53.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>create() icu >= 53.1 && icu < 54.1</td><td>reason: for ICU < 54.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>create() icu >= 53.1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>get_error_code()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>get_error_message()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>get_locale() icu >= 4.8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>get/set_attribute()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>get/set_strength()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>collator_get_sort_key()</td><td>reason: for ICU < 51.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>collator_get_sort_key()</td><td>reason: for ICU < 53.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>collator_get_sort_key() icu >= 53.1 && icu < 54.1</td><td>reason: for ICU < 54.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>collator_get_sort_key() icu >= 54.1</td><td>reason: for ICU < 55.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>collator_get_sort_key() icu >= 55.1</td><td>reason: for ICU < 56.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>collator_get_sort_key() icu >= 56.1</td><td>reason: for ICU < 62.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>collator_get_sort_key() icu >= 62.1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>sort()</td><td>reason: for ICU < 51.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>sort()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>sort_with_sort_keys()</td><td>reason: for ICU < 51.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>sort_with_sort_keys()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCodePointBreakIterator: clone and equality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCodepointBreakIterator::getLastCodePoint(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlBreakIterator::getLastCodePoint(): bad args</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCodepointBreakIterator's part iterator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlDateFormatter::__construct(): bad timezone or calendar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65683 IntlDateFormatter accepts DateTimeImmutable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65683: Intl does not support DateTimeImmutable (using datefmt_format_object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68893 Stackoverflow in datefmt_create</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71516 IntlDateFormatter losts locale if pattern is set via constructor</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter, calendars and time zone</td><td>reason: for ICU < 50.1.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter, calendars and time zone</td><td>reason: for ICU < 54.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlDateFormatter, calendars and time zone</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cloning datefmt icu >= 4.8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cloning unconstructed IntlDateFormatter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter: several forms of the calendar arg</td><td>reason: for ICU < 50.1.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter: several forms of the calendar arg</td><td>reason: for ICU >= 51.2 and < 52.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter: several forms of the calendar arg</td><td>reason: for ICU < 54.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter: several forms of the calendar arg</td><td>reason: for ICU <= 57.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlDateFormatter: several forms of the calendar arg</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>datefmt_format_code()</td><td>reason: for ICU < 50.1.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter::formatObject(): IntlCalendar tests</td><td>reason: for ICU < 50.1.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter::formatObject(): IntlCalendar tests</td><td>reason: for ICU >= 51.2 and < 52.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter::formatObject(): IntlCalendar tests</td><td>reason: for ICU < 54.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter::formatObject(): IntlCalendar tests</td><td>reason: for ICU < 55.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlDateFormatter::formatObject(): IntlCalendar tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter::formatObject(): DateTime tests</td><td>reason: for ICU < 50.1.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter::formatObject(): DateTime tests</td><td>reason: for ICU >= 51.2 and < 52.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter::formatObject(): DateTime tests</td><td>reason: for ICU < 54.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter::formatObject(): DateTime tests</td><td>reason: for ICU < 55.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlDateFormatter::formatObject(): DateTime tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlDateFormatter::formatObject(): error conditions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>datefmt_format_code() and datefmt_parse_code()</td><td>reason: for ICU < 50.1.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>datefmt_format_code() and datefmt_parse_code()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>datefmt_format_code()</td><td>reason: for ICU >= 51.2 && ICU < 52.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>datefmt_format_code()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlDateFormatter::getCalendarObject(): bad args</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlDateFormatter::getTimeZone(): bad args</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>datefmt_get_datetype_code()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>datefmt_get_locale_code()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter: setCalendar()/getCalendar()/getCalendarObject()</td><td>reason: for ICU < 50.1.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter: setCalendar()/getCalendar()/getCalendarObject()</td><td>reason: for ICU >= 51.2 and < 52.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter: setCalendar()/getCalendar()/getCalendarObject()</td><td>reason: for ICU < 54.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter: setCalendar()/getCalendar()/getCalendarObject()</td><td>reason: for ICU <= 57.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlDateFormatter: setCalendar()/getCalendar()/getCalendarObject()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>datefmt_get_pattern_code and datefmt_set_pattern_code() icu >= 4.8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter: get/setTimeZone()</td><td>reason: for ICU < 50.1.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter: get/setTimeZone()</td><td>reason: for ICU >= 51.2 and < 52.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter: get/setTimeZone()</td><td>reason: for ICU < 54.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter: get/setTimeZone()</td><td>reason: for ICU < 55.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlDateFormatter: get/setTimeZone()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>datefmt_get_timetype_code()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>datefmt_get_timezone_id_code()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlDateFormat constructor failure</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>datefmt_set_lenient and datefmt_set_lenient()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlDateFormatter::setTimeZone() bad args</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>datefmt_set_timezone_id_code() icu >= 4.8</td><td>reason: for ICU < 50.1.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>datefmt_set_timezone_id_code() icu >= 4.8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter: several forms of the timezone arg</td><td>reason: for ICU < 50.1.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter: several forms of the timezone arg</td><td>reason: for ICU >= 51.2 and < 52.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlDateFormatter: several forms of the timezone arg</td><td>reason: for ICU < 54.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlDateFormatter: several forms of the timezone arg</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cloning numfmt</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cloning unconstructed numfmt</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>numfmt creation failures</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>numfmt_format() icu >= 4.8</td><td>reason: for ICU <= 52.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>numfmt_format() icu >= 52.1 && icu < 53.1</td><td>reason: for ICU < 53.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>numfmt_format() icu >= 53.1 && icu < 54.1</td><td>reason: for ICU < 54.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>numfmt_format() icu >= 54.1 && icu < 56.1</td><td>reason: for ICU < 56.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>numfmt_format() icu >= 56.1 && icu < 61.1</td><td>reason: for ICU < 61.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>numfmt_format() icu >= 61.1 && < 62.1</td><td>reason: for ICU < 62.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>numfmt_format() icu >= 62.1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>numfmt_format() with type conversion</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>numfmt_format_currency() icu >= 4.8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>numfmt_get_error_message/code()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>numfmt_get_locale() icu >= 4.8 && icu < 50.1.2</td><td>reason: for ICU < 50.1.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>numfmt_get_locale()</td><td>reason: for ICU < 58.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>numfmt_get_locale()</td><td>reason: for ICU < 62.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>numfmt_get_locale()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>numfmt_get/set_pattern()</td><td>reason: for ICU < 62.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>numfmt_get/set_pattern()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>numfmt_get/set_symbol() icu >= 4.8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>numfmt_get/set_text_attribute() ICU < 56.1</td><td>reason: for ICU < 56.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>numfmt_get/set_text_attribute() ICU >= 56.1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>numfmt_parse()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>numfmt_parse_currency()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>grapheme()</td><td>reason: for ICU < 65.0</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>grapheme()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlGregorianCalendar::__construct(): basic</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlGregorianCalendar::__construct(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlGregorianCalendar::__construct(): argument variants</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlGregorianCalendar::getGregorianChange(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlGregorianCalendar::get/setGregorianChange(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlGregorianCalendar::isLeapYear(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlGregorianCalendar::isLeapYear(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlGregorianCalendar::setGregorianChange(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IDN</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76829 Incorrect validation of domain on idn_to_utf8() function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IDN UTS #46 API basic tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IDN UTS #46 API error tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>intl.use_exceptions INI setting</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>intl_error_name()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>intl_get_error_code()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>intl_get_error_message()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>INTL_ICU_DATA_VERSION constant</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>INTL_ICU_VERSION constant</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>intl_is_failure()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74993 Wrong reflection on some locale_* functions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>locale_accept_from_http</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66289 Locale::lookup incorrectly returns en or en_US if locale is empty</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72658 Locale::lookup() / locale_lookup() hangs if no match found</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74439 Wrong reflection on the Locale methods</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>locale_compose_locale()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>locale_filter_matches.phpt() icu >= 4.8 && icu < 50.1.2</td><td>reason: for ICU < 50.1.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>locale_filter_matches.phpt() ICU >= 51.2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>locale_get_all_variants.phpt()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>locale_get_default()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>locale_get_display_language()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>locale_get_display_name() icu >= 4.8 && icu < 50.1.2</td><td>reason: for ICU < 50.1.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>locale_get_display_name() icu >= 51.2</td><td>reason: for ICU >= 51.2 and < 52.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>locale_get_display_name() icu >= 52.1 && icu < 53.1</td><td>reason: for ICU < 53.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>locale_get_display_name() icu >= 53.1</td><td>reason: for ICU < 64.0</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>locale_get_display_name() icu >= 64.0</td><td>reason: for ICU < 65.0</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>locale_get_display_name() icu >= 64.0</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>locale_get_display_region() icu >= 4.8 && icu < 51.2</td><td>reason: for ICU <= 50.1.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>locale_get_display_region() icu >= 51.2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>locale_get_display_script() icu >= 49</td><td>reason: for ICU < 52.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>locale_get_display_script() icu >= 52.1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>locale_get_display_variant() icu >= 4.8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>locale_get_keywords() icu >= 4.8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>locale_get_primary_language()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>locale_get_region()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>locale_get_script()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>locale_lookup.phpt() icu >= 4.8 && icu < 50.1.2</td><td>reason: for ICU < 50.1.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>locale_lookup.phpt()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>locale_parse_locale() icu >= 4.8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>locale_set_default($locale)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70484 selectordinal doesn't work with named parameters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cloning msgfmt</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Cloning unconstructed MessageFormatter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>msgfmt creation failures icu >= 4.8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>msgfmt_format()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MessageFormatter::format(): DateTime accepted to format dates and times</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MessageFormatter::format() insufficient numeric arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MessageFormatter::format() inconsistent types in named argument</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MessageFormatter::format() given negative arg key</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MessageFormatter::format() invalid UTF-8 for arg key or value</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MessageFormatter::format() invalid date/time argument</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MessageFormatter::format() invalid type for key not in pattern</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>MessageFormat accepts IntlCalendar args icu >= 4.8 && icu < 50.1.2</td><td>reason: for ICU < 50.1.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>MessageFormat accepts IntlCalendar args</td><td>reason: for ICU >= 51.2 and < 52.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>MessageFormat accepts IntlCalendar args</td><td>reason: for ICU < 54.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MessageFormat accepts IntlCalendar args</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MessageFormatter::format(): mixed named and numeric parameters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MessageFormatter::format(): simple types handling with numeric strings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>msgfmt_format() with subpatterns</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>msgfmt_format() with named subpatterns</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>msgfmt_get_locale()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>msgfmt_get/set_pattern()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MessageFrormatter parses and formats dates with millisecond precision</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>msgfmt_parse() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MessageFormatter::setPattern() invalidates arg types cache</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>normalizer_get_raw_decomposition()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>normalize()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>normalize() NFKC_Casefold</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlRuleBasedBreakIterator::__construct: basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlRuleBasedBreakIterator::getBinaryRules(): basic test</td><td>reason: for ICU < 61.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlRuleBasedBreakIterator::getBinaryRules(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlRuleBasedBreakIterator::getRuleStatusVec(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlRuleBasedBreakIterator::getRuleStatus(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlRuleBasedBreakIterator::getRules(): basic test</td><td>reason: for ICU < 61.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlRuleBasedBreakIterator::getRules(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Regression: sort() and copy-on-write.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Regression: sort() eq but different len.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Regression: sort_wsk() and copy-on-write.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Regression: sort_wsk() eq but different len.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ResourceBundle array access and count - existing/missing keys</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ResourceBundle implements Countable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ResourceBundle::__construct() - existing/missing bundles/locales</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ResourceBundle::get() and length() - existing/missing keys</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ResourceBundle::__construct() with internal ICU bundles</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ResourceBundle iterator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ResourceBundle::getLocales</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>ResourceBundle constructor bundle accepts NULL for first two arguments</td><td>reason: for ICU < 50.1.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ResourceBundle constructor bundle accepts NULL for first two arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55610: ResourceBundle does not implement Traversable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>spoofchecker suspicious character checker</td><td>reason: for ICU <= 57.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>spoofchecker confusable tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>spoofchecker with locale settings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>spoofchecker with settings changed</td><td>reason: for ICU < 55.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>spoofchecker with settings changed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>spoofchecker suspicious character checker</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>spoofchecker with restriction level</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Symfony StubNumberFormatterTest#testFormatTypeDoubleIntl #1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Symfony StubNumberFormatterTest#testFormatTypeDoubleIntl #2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Symfony StubNumberFormatterTest#testFormatTypeDoubleIntl #3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Symfony StubNumberFormatterTest#testFormatTypeDoubleIntl #4</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Symfony StubNumberFormatterTest#testFormatTypeInt32Intl #1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Symfony StubNumberFormatterTest#testFormatTypeInt32Intl #2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Symfony StubNumberFormatterTest#testFormatTypeInt32Intl #3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Symfony StubNumberFormatterTest#testFormatTypeInt32Intl #4</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Symfony StubNumberFormatterTest#testFormatTypeInt32Intl #5</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Symfony StubNumberFormatterTest#testFormatTypeInt32Intl #6</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Symfony StubNumberFormatterTest#testFormatTypeInt32Intl #7</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Symfony StubNumberFormatterTest#testFormatTypeInt64Intl #1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Symfony StubNumberFormatterTest#testFormatTypeInt64Intl #2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Symfony StubNumberFormatterTest#testFormatTypeInt64Intl #3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Symfony StubNumberFormatterTest#testFormatTypeInt64Intl #4</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Symfony StubNumberFormatterTest#testFormatTypeInt64Intl #5</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Symfony StubNumberFormatterTest#testFormatTypeInt64Intl #6</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Symfony StubNumberFormatterTest#testFormatTypeInt64Intl #7</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Symfony StubNumberFormatterTest#testFormatTypeInt64Intl #8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlTimeZone::getIDForWindowsID basic test</td><td>reason: for ICU <= 57.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getIDForWindowsID basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone clone handler: basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone clone handler: error test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::countEquivalentIDs(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::countEquivalentIDs(): errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::createDefault(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::createDefault(): errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::createEnumeration(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::createEnumeration(): errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::createEnumeration(): variant with offset</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::createEnumeration(): variant with country</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::createTimeZoneIDEnumeration(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::createTimeZoneIDEnumeration(): errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::createTimeZoneIDEnumeration(): variant without offset</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::createTimeZoneIDEnumeration(): variant without region</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::createTimeZone(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::createTimeZone(): errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone equals handler: basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone equals handler: error test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::fromDateTimeZone(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::fromDateTimeZone(): argument errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getCanonicalID: basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getCanonicalID(): errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlTimeZone::getCanonicalID(): second argument</td><td>reason: for ICU < 53.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getCanonicalID(): second argument</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getDSTSavings(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getDSTSavings(): errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getDisplayName(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getDisplayName(): errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getDisplayName(): daylight parameter effect</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlTimeZone::getDisplayName(): type parameter (ICU >= 49 && ICU < 50.1.2)</td><td>reason: for ICU < 50.1.2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlTimeZone::getDisplayName(): locale parameter</td><td>reason: for ICU < 55.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getDisplayName(): type parameter (ICU >= 51.2)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getEquivalentID(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getEquivalentID(): errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlTimeZone::getErrorCode/Message(): basic test</td><td>reason: requires x86</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getErrorCode(): errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getErrorMessage(): errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getGMT(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getGMT(): errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getID(): errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getOffset(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlTimeZone::getOffset(): errors</td><td>reason: requires x86</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getRawOffset(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getRawOffset(): errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getRegion(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getRegion(): errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getTZDataVersion(): errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getTZDataVersion: basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getUnknown(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlCalendar::getUnknown(): bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::hasSameRules(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::hasSameRules(): errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::toDateTimeZone(): basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::toDateTimeZone(): errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::useDaylightTime: basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::useDaylightTime(): errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>IntlTimeZone::getWindowsID basic test</td><td>reason: for ICU <= 57.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlTimeZone::getWindowsID basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Transliterator clone handler</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Transliterator::create (basic)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Transliterator::create (error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Transliterator::createFromRules (basic)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Transliterator::createFromRules (error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Transliterator::createInverse (basic)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Transliterator::createInverse (error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Transliterator::getErrorCode (basic)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Transliterator::getErrorCode (error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Transliterator::getErrorMessage (basic)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Transliterator::getErrorMessage (error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Transliterator::listIDs (basic)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Transliterator::listIDs (error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Transliterator - "id" property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Transliterator::transliterate (basic)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Transliterator::transliterate (error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>transliterator_transliterate (variant 1, non-transliterator 1st arg)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Basic UConverter::convert() usage</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66873 - crash in UConverter with invalid encoding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>UConverter Enumerations</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Basic UConverter::transcode() usage</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Basic UConverter::convert() w/ Subsitution</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Check the function UConverter::getAvailable with parameter wrong</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>UConverter::getDestinationEncoding()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>UConverter::getSourceEncoding()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Basic UConverter::getStandards() usage</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>UConverter Algorithmic converters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Basic UConverter::convert() usage</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>UConverter::convert() w/ Callback Reasons</td><td>reason: for ICU <= 57.1</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>UConverter::convert() w/ Callback Reasons</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>UConverter::convert() w/ Callback Return Values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Basic UConverter::convert() w/ Subsitution</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>UConverter::setSourceEncoding()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>IntlChar basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70453 (IntlChar::foldCase() incorrect arguments and missing constants)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70454 (IntlChar::forDigit second parameter should be optional)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70455 Missing constant: IntlChar::NO_NUMERIC_VALUE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>json_decode() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>json_encode() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>json_encode() & endless loop - 1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>json_encode() & endless loop - 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>json_encode() & endless loop - 3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>json_encode() & extended encoding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>json_last_error() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>json_decode() with large integers</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>json_encode() with non-packed array that should be encoded as an array rather than object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #40503 (json_encode() value corruption on 32bit systems with overflown values)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41034 (json_encode() ignores null byte started keys in arrays)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41067 (json_encode() problem with UTF-16 input)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #41403 (json_decode cannot decode floats if localeconv decimal_point is not '.')</td><td>reason: no de_DE locale</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41504 (json_decode() converts empty array keys to "_empty_")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41567 (json_encode() double conversion is inconsistent with PHP)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42090 (json_decode causes segmentation fault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42785 (Incorrect formatting of double values with non-english locales)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43941 (json_encode() invalid UTF-8)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45791 (json_decode() does not handle number 0e0)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46215 (json_encode mutates its parameter and has some class-specific state)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46944 (json_encode() doesn't handle 3 byte utf8 correctly)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47644 (valid large integers are truncated)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>bug #50224 (json_encode() does not always encode a float as a float)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>bug #53946 (json_encode() with JSON_UNESCAPED_UNICODE)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54058 (json_last_error() invalid UTF-8 produces wrong error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54484 (Empty string in json_decode doesn't reset json_last_error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55543 (json_encode() with JSON_NUMERIC_CHECK & numeric string properties)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61537 (json_encode() incorrectly truncates/discards information)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61978 (Object recursion not detected for classes that implement JsonSerializable)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62010 (json_decode produces invalid byte-sequences)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>FR #62369 (Segfault on json_encode(deeply_nested_array)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63737 (json_decode does not properly decode with options parameter)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64695 JSON_NUMERIC_CHECK has issues with strings that are numbers plus the letter e</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Whitespace part of bug #64874 ("json_decode handles whitespace and case-sensitivity incorrectly")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Case-sensitivity part of bug #64874 ("json_decode handles whitespace and case-sensitivity incorrectly")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66021 (Blank line inside empty array/object when JSON_PRETTY_PRINT is set)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66025 (Indent wrong when json_encode() called from jsonSerialize function)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68546 (json_decode() Fatal error: Cannot access property started with '\0')</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68567 JSON_PARTIAL_OUTPUT_ON_ERROR can result in JSON with null key</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68817 (Null pointer deference)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68938 (json_decode() decodes empty string without indicating error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68992 (json_encode stacks exceptions thrown by JsonSerializable classes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69187 json_last_error return BC in PHP7</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71835 (json_encode sometimes incorrectly detects recursion with JsonSerializable)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72069 (Behavior \JsonSerializable different from json_encode)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72787 (json_decode reads out of bounds)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73113 (Segfault with throwing JsonSerializable)
Also test that the custom exception is not wrapped by ext/json</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73254 (Incorrect indentation generated by json_encode() with JSON_PRETTY_PRINT)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Allow JSON_OBJECT_AS_ARRAY to have an effect</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77843: Use after free with json serializer</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>JSON (http://www.crockford.com/JSON/JSON_checker/test/fail*.json)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>An error is thrown when INF or NaN are encoded</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test json_decode() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test json_decode() function : error conditions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test json_decode() function : JSON_THROW_ON_ERROR flag</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>json_decode() invalid UTF8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test json_encode() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test json_encode() function : basic functionality with UTF8 string input</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test json_encode() function : JSON_THROW_ON_ERROR flag</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>json_encode() invalid UTF8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test json_encode() function with numeric flag</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>json_encode() with JSON_PRETTY_PRINT</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>json_encode() tests for U+2028, U+2029</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>json_decode() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>JSON_THROW_ON_ERROR: global error flag untouched</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>json_last_error() failures</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>json_last_error_msg() failures</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>JSON (http://www.crockford.com/JSON/JSON_checker/test/pass1.json)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>JSON (http://www.crockford.com/JSON/JSON_checker/test/pass1.json)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>JSON (http://www.crockford.com/JSON/JSON_checker/test/pass1.json)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>JSON (http://www.crockford.com/JSON/JSON_checker/test/pass2.json)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>JSON (http://www.crockford.com/JSON/JSON_checker/test/pass3.json)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>json_encode() Serialization tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>An error is thrown when an unsupported type is encoded</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>libxml_use_internal_errors()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>libxml_get_errors()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>libxml_use_internal_errors() memory leaks</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>libxml_set_streams_context()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42112 (deleting a node produces memory corruption)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54138 - DOMNode::getLineNo() doesn't return line number higher than 65535</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #54138 - DOMNode::getLineNo() doesn't return line number higher than 65535</td><td>reason: this test is for libxml < 2.9.0 only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #54138 - DOMNode::getLineNo() doesn't return line number higher than 65535</td><td>reason: this test is for LIBXML_BIGLINES being undefined</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54440: libxml extension ignores default context</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61367: open_basedir bypass in libxml RSHUTDOWN: read test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61367: open_basedir bypass in libxml RSHUTDOWN: write test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63389 (Missing context check on libxml_set_streams_context() causes memleak)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>Bug #69753 - libXMLError::file contains invalid URI</td><td> XFAIL REASON: Awaiting upstream fix: https://bugzilla.gnome.org/show_bug.cgi?id=750365</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>Bug #69753 - libXMLError::file contains invalid URI</td><td> XFAIL REASON: Awaiting upstream fix: https://bugzilla.gnome.org/show_bug.cgi?id=750365</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76777 (first parameter of libxml_set_external_entity_loader callback undefined)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79191 (Error in SoapClient ctor disables DOMDocument::save())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>libxml_disable_entity_loader()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>libxml_set_external_entity_loader() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>libxml_set_external_entity_loader() error: bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>libxml_set_external_entity_loader() variation: resolve externals and entities</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>libxml_set_external_entity_loader() variation: restore original handler; returning NULL</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #20087 (Assertion failure)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #25140 (mb_convert_encoding returns FALSE on an empty string)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #26639 (mb_convert_variables() clutters variables beyond the references)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #28220 (mb_strwidth() returns wrong width values for some Hangul characters)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30549 (incorrect character translations for some ISO8859 charsets)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #31911 (mb_decode_mimeheader() is case-sensitive to hex escapes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #40685 (mb_decode_numericentity() removes '&' in the string)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43301 (mb_ereg*_replace() crashes when replacement string is invalid PHP expression and 'e' option is used)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strpos() function : mb_strpos bounds check is byte count rather than a character count</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strrpos() function : mb_strrpos offset is byte count for negative values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43993 (mb_substr_count() behaves differently to substr_count() with overlapping needles)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_ereg() function : mb_ereg 'successfully' matching incorrectly</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strtolower() function : Two error messages returned for incorrect encoding for mb_strto[upper|lower]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45239 (encoding detector hangs with mbstring.strict_detection enabled)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45722 (mb_check_encoding() crashes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45923 (mb_st[r]ripos() offset not handled correctly)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46806 (mb_wtrimwidth cutting to early)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46843 (CP936 euro symbol is not converted properly)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47399 (mb_check_encoding() returns true for some illegal SJIS characters)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48645 (mb_convert_encoding() doesn't understand hexadecimal html-entities)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48697 (mb_internal_encoding() value gets reset by parse_str() or mb_parse_str()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #49354 (mb_strcut() cuts wrong length when offset is in the middle of a multibyte character)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #49528 (UTF-16 strings prefixed by BOM wrongly converted)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #49536 (mb_detect_encoding() returns incorrect results when strict_mode is turned on)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #52681 (mb_send_mail() appends an extra MIME-Version header)</td><td>reason: .. Not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52931 (strripos not overloaded with function overloading enabled)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52981 (Unicode properties are outdated (from Unicode 3.2))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54494: mb_substr() mishandles UTF-32LE and UCS-2LE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60306 (Characters lost while converting from cp936 to utf8)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62545 (wrong unicode mapping in some charsets)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62934: mb_convert_kana() does not convert iteration marks</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63447 (max_input_vars doesn't filter variables when mbstring.encoding_translation = On)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63447 (max_input_vars doesn't filter variables when mbstring.encoding_translation = On)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63447 (max_input_vars doesn't filter variables when mbstring.encoding_translation = On)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65045: mb_convert_encoding breaks well-formed character</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65544: mb title case conversion-first word in quotation isn't capitalized</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66797 (mb_substr only takes 32-bit signed integer)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66964 (mb_convert_variables() cannot detect recursion)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68846 False detection of CJK Unified Ideographs Extension E</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69079 (enhancement for mb_substitute_character)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Request #69086 (enhancement for mb_convert_encoding)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69151 (mb_ereg should reject ill-formed byte sequence)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69267: mb_strtolower fails on titlecase characters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71298: MB_CASE_TITLE misbehaves with curled apostrophe/quote (HTML &rsquo;)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71606 (Segmentation fault mb_strcut + mb_list_encodings)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72164 (Null Pointer Dereference - mb_ereg_replace)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72399 (Use-After-Free in MBString (search_re))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72402: _php_mb_regex_ereg_replace_exec - double free</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72691 (mb_ereg_search raises a warning if a match zero-width)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72693 (mb_ereg_search increments search position when a match zero-width)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72694 (mb_ereg_search_setpos does not accept a string's last position)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72710 (`mb_ereg` causes buffer overflow on regexp compile error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72994 (mbc_to_code() out of bounds read)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73532 (Null pointer dereference in mb_eregi)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73646 (mb_ereg_search_init null pointer dereference)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75944 (wrong detection cp1251 encoding because of missing last cyrillic letter)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76319: mb_strtolower with invalid UTF-8 causes segmentation fault</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76532 (Integer overflow and excessive memory usage in mb_strimwidth)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76704 (mb_detect_order return value varies based on argument type)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76958: Broken UTF7-IMAP conversion</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77025: mb_strpos throws Unknown encoding or conversion error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77165: mb_check_encoding crashes when argument given an empty array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77367 (Negative size parameter in mb_split)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77370 (Buffer overflow on mb regex functions - fetch_token)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77371 (heap buffer overflow in mb regex functions - compile_string_node)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77381 (heap buffer overflow in multibyte match_at)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77418 (Heap overflow in utf32be_mbc_to_code)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77428: mb_ereg_replace() doesn't replace a substitution variable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77454: mb_scrub() silently truncates after a null byte</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77514: mb_ereg_replace() with trailing backslash adds null byte</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78559 (#78559 Heap buffer overflow in mb_eregi)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78609 (mb_check_encoding() no longer supports stringable objects)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78633 (Heap buffer overflow (read) in mb_eregi)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79037: global buffer-overflow in `mbfl_filt_conv_big5_wchar`</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79149 (SEGV in mb_convert_encoding with non-string encodings)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug 79154 (mb_convert_encoding() can modify $from_encoding)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79371 (mb_strtolower (UTF-32LE): stack-buffer-overflow)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79441 Segfault in mb_chr() if internal encoding is unsupported</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_strtoupper() / mb_strtolower()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Case-insensitive string comparisons use case folding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Unicode case mapping</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Check for empty pattern</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>HTML input/output</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Unicode standard conformance test (ill-formed UTF sequences.)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Encoding INI test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Encoding INI test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mbstring.language bug</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Check that "internal_encoding" ini is picked up by mbstring</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_check_encoding()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_check_encoding() - Circular references</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_chr()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_chr() and mb_ord()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Calling mb_convert_case() with an invalid casing mode</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_convert_encoding()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_convert_encoding() function : array functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_convert_encoding() function : Circular references</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_convert_encoding() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_convert_encoding() shouldn't leak keys</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_convert_encoding() with stateful encodings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing mb_convert_kana() function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_convert_variables()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_decode_mimeheader() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_decode_mimeheader() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_decode_mimeheader() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_decode_numericentity() function : Convert HTML-Entities to UTF-8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_detect_encoding()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_detect_order()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_encode_mimeheader() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_encode_mimeheader() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_encode_mimeheader() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_encode_mimeheader() function : basic functionality, indent</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_encode_mimeheader() function : usage variations - Pass different strings to $linefeed arg</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_encode_numericentity() function : Convert UTF-8 to HTML-Entities</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_encoding_aliases()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg() compat test 1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg() compat test 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg() and invalid arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg() returning matches</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg() returning matches</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_ereg() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing mb_ereg() duplicate named groups</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_ereg_match() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing mb_ereg() named subpatterns</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg_replace() compat test 1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg_replace() compat test 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg_replace() compat test 3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg_replace() compat test 4</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg_replace() compat test 5</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg_replace() compat test 6</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg_replace() compat test 7</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg_replace() compat test 8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg_replace() compat test 9</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg_replace() compat test 10</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg_replace() compat test 11</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg_replace() compat test 12</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg_replace() compat test 13</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg_replace()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_ereg_replace() function : basic</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg_replace_callback()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg_replace() with named subpatterns</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_ereg_replace() function : usage variations - <type here specifics of this variation></td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing mb_ereg_search() function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg_search() with invalid pattern should discard old matches</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Testing mb_ereg_search() named capture groups</td><td>reason: requires oniguruma < 6.9.4</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing mb_ereg_search() named capture groups</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg_search_pos() # a test for the basic function of mb_ereg_search_pos</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Funktionstest mb_ereg_search_regs()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg_search_setpos() function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ereg_search() stuff</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_ereg() function : usage variations - pass different data types to $pattern argument</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_ereg() function : usage variations - pass different character classes to see they match correctly</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_ereg() function : usage variations - pass different character classes as pattern for multibyte string</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_ereg() function : usage variations - Test anchors in regex</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_ereg() function : usage variations - match special characters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_ereg() function : usage variations - different regex features in $pattern</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_eregi() and invalid arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing mb_eregi_replace() function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_get_info() function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mb_http_input()</td><td>reason: sapi is not a cgi version</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_http_output()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_internal_encoding()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_internal_encoding() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_internal_encoding() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_internal_encoding() function : error conditions - pass an unknown encoding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test INI mbstring.internal_encoding basic - encoding when valid specified</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_internal_encoding() function : usage variations - Test different encodings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_language()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_list_encodings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_ord()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_output_handler() (EUC-JP)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_output_handler() and mbstring.http_output_conv_mimetypes (1)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_output_handler() and mbstring.http_output_conv_mimetypes (2)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_output_handler() and mbstring.http_output_conv_mimetypes (3)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_output_handler() and mbstring.http_output_conv_mimetypes (4)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_output_handler() and mbstring.http_output_conv_mimetypes (5)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_output_handler() and mbstring.http_output_conv_mimetypes (6)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_output_handler() and mbstring.http_output_conv_mimetypes (7)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_output_handler() and mbstring.http_output_conv_mimetypes (8)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_output_handler() and mbstring.http_output_conv_mimetypes (9)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_output_handler() and mbstring.http_output_conv_mimetypes (10)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_output_handler() and mbstring.http_output_conv_mimetypes (11)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_output_handler() and mbstring.http_output_conv_mimetypes (12)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_output_handler() and mbstring.http_output_conv_mimetypes alteration in runtime (1)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_output_handler() and mbstring.http_output_conv_mimetypes alteration in runtime (2)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_output_handler() (Shift_JIS)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_parse_str()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_parse_str() test 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_preferred_mime_name()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_regex_encoding() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_regex_encoding() function : error conditions - Pass an unknown encoding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_regex_encoding() function : usage variations - test different encodings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_regex_set_options()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_scrub()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mb_send_mail() test 1 (lang=neutral)</td><td>reason: .. Not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mb_send_mail() test 2 (lang=Japanese)</td><td>reason: .. Not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mb_send_mail() test 3 (lang=English)</td><td>reason: .. Not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mb_send_mail() test 4 (lang=German)</td><td>reason: .. Not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mb_send_mail() test 5 (lang=Simplified Chinese)</td><td>reason: .. Not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mb_send_mail() test 6 (lang=Traditional Chinese)</td><td>reason: .. Not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mb_send_mail() test 7 (lang=Korean)</td><td>reason: .. Not valid for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_split() compat test 1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_split()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_split() empty match
--</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Optional long parameter might be null</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_str_split() tests for the japanese language</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_str_split() tests for the russian language</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_str_split() tests UTF-8 illegal chars & UTF-16 surrogate pairs</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_str*() - unknown encoding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_strcut()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_strcut() missing boundary check.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_strcut() negative length test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_strimwidth()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_stripos()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_stripos() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_stripos() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_stripos() function : error conditions - Pass unknown encoding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_stripos() function : usage variations - Pass different integers as $offset argument</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_stristr() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_stristr() function : error conditions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_stristr() function : usage variation - multiple needles</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_strlen()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strlen() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strlen() function : error conditions - pass an unknown encoding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strlen() function : usage variations - Pass list of encodings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_strpos()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strpos() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strpos() function : error conditions - Pass unknown encoding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strpos() function : usage variations - Pass different integers as $offset argument</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strrchr() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strrchr() function : error conditions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strrchr() function : variation - multiple needles</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strrchr() function : variation - case sensitivity</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strrichr() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strrichr() function : error conditions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strrichr() function : usage variation - multiple needles</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strripos() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strripos() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strripos() function : error conditions - Pass unknown encoding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strripos() function : usage variations - Pass different integers as $offset argument</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strrpos() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Passing encoding as 3rd param to mb_strrpos (legacy)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strrpos() function : error conditions - pass an unknown encoding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strrpos() function : usage variations - pass encoding as third argument (deprecated behaviour)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_strstr()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strstr() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strstr() function : error conditions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strstr() function : variation - multiple needles</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strstr() function : variation - case sensitivity</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strtolower() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strtolower() function : error conditions - pass an unknown encoding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strtolower() function : usage variations - pass mixed ASCII and non-ASCII strings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strtolower() function : usage variations - pass different characters to check conversion is correct</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strtoupper() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strtoupper() function : error conditions - pass an unknown encoding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strtoupper() function : usage varitations - pass mixed ASCII and non-ASCII strings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_strtoupper() function : usage varitations - Pass different character types to check conversion is correct</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_strwidth()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_substitute_character()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_substitute_character() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_substitute_character() function : usage variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_substitute_character() function : variation unmappable out char for convert encoding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_substr()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_substr() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mb_substr_count()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_substr_count() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_substr_count() function : error conditions - pass unknown encoding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_substr_count() function : variation - pass a $needle that overlaps in $haystack</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_substr() function : error conditions - Pass an unknown encoding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_substr() function : usage variations - pass different integers to $start arg</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_substr() function : usage variations - pass different integers to $length arg</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_substr() function : usage variations - pass different integers to $start arg</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test mb_substr() function : usage variations - pass different integers to $length arg</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test oniguruma stack limit</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test oniguruma stack limit</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Function overloading test 1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Function overloading test 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>php-users@php.gr.jp #10830</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>php-users@php.gr.jp #16242</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>php-dev@php.gr.jp #884 (1)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>php-dev@php.gr.jp #884 (2)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Emoji (Pictogram characters for cellular phone in Japan) test based on Unicode 6.0</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Oniguruma retry limit</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Simple multi-byte print test (EUC-JP)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>zend multibyte (1)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>zend multibyte (2)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>zend multibyte (3)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>zend multibyte (4)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>zend multibyte (5)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>zend multibyte (6)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>zend multibyte (7)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>zend multibyte (8)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>zend multibyte (9)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>zend multibyte (10)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>zend multibyte (11)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>zend multibyte (12)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>zend multibyte (13)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>zend multibyte (14)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>zend multibyte (15)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>zend multibyte (16)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli connect</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli bind_result 1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli connect</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli fetch char/text</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli fetch char/text long</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli fetch long values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli fetch short values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli fetch tinyint values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli fetch bigint values (ok to fail with 4.1.x)</td><td>reason: test valid only for 32bit systems</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli fetch float values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli fetch mixed values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli fetch mixed values 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli fetch mixed / mysql_query (may fail when using 4.1 library with 5.x server)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli autocommit/commit/rollback</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli autocommit/commit/rollback with innodb</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli fetch user variable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli fetch functions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli fetch system variables</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli fetch (bind_param + bind_result)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli bind_param/bind_result date</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli bind_param+bind_result char/text</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli bind_param/bind_result char/text long</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli bind_param/bind_prepare fetch long values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli bind_param/bind_result short values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli bind_param/bind_result tinyint values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli bind_param/bind_result with send_long_data</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>function test: mysqli_stat</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>function test: mysqli_character_set_name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>function test: mysqli_affected_rows</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>function test: mysqli_errno</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>function test: mysqli_error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>function test: mysqli_info</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>function test: mysqli_get_host_info</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>function test: mysqli_get_proto_info</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>function test: mysqli_get_server_info</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>function test: mysqli_insert_id()</td><td>reason: test valid only for 32bit systems</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>function test: mysqli_field_count()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>function test: mysqli_num_fields()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>function test: mysqli_num_fields() 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>function test: mysqli_num_rows()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>function test: mysqli_warning_count()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_bind_param (UPDATE)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_get_server_version</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_bind_result (SHOW)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_affected_rows (delete)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_result_metadata</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli bind_result (OO-Style)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysql_fetch_row (OO-Style)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>non freed statement test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>free statement after close</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>call statement after close</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>not freed resultset</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>free resultset after close</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>free nothing</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>extend mysqli</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_result_metadata</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>multiple binds</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>sqlmode + bind</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_object with classes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>local infile handler</td><td>reason: - function not available.</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>resultset constructor</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>resultset constructor</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>NULL binding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>set character set</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>function test: mysqli_warning object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>function test: nested selects (cursors)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli get_client_info</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli multi_query, next_result, more_results</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli ping</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli thread_id & kill</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli warning_count, get_warnings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_driver properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_autocommit() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #28817 (problems with properties declared in the class extending MySQLi)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #29311 (Cannot override mysqli constructor)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #30967 (problems with properties declared in the class extending the class extending MySQLi)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #31141 (properties declared in the class extending MySQLi are not available)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #31668 (multi_query works exactly every other time (multi_query was global, now per connection))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #32405 (mysqli->fetch() is returning bad data)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #32490 (constructor of mysqli has wrong name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33090 (mysql_prepare doesn't return an error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33263 (mysqli_real_connect in __construct)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #33491 (extended mysqli class crashes when result is not object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34785 (Can not properly subclass mysqli_stmt)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34810 (mysqli::init() and others use wrong $this pointer without checks)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35103 (Bad handling of unsigned bigint)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35517 (mysqli_stmt_fetch returns NULL)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35759 (mysqli_stmt_bind_result() makes huge allocation when column empty)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #36420 (segfault when access result->num_rows after calling result->close())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #36745 (LOAD DATA LOCAL INFILE doesn't return correct error message)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #36802 (crashes with with mysqli_set_charset())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #36949 (invalid internal mysqli objects dtor)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #37090 (mysqli_set_charset return code)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38003 (in classes inherited from MySQLi it's possible to call private constructors from invalid context)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38710 (data leakage because of nonexisting boundary checking in statements)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39457 (Multiple invoked OO connections never close)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42378 (bind_result memory exhaustion, SELECT column, FORMAT(...) AS _format)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42548 PROCEDURE xxx can't return a result set in the given context (works in 5.2.3!!)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44879 (failed to prepare statement)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45019 (Segmentation fault with SELECT ? and UNION)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45289 (Bogus store_result on PS)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46109 (MySQLi::init - Memory leaks)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46614 (Extended MySQLi class gives incorrect empty() result)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47050 (mysqli_poll() modifies improper variables)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48909 (Segmentation fault in mysqli_stmt_execute)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #49027 (mysqli_options() doesn't work when using mysqlnd)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #49422 (mysqlnd: mysqli_real_connect() and LOAD DATA INFILE crash)</td><td>reason: Server variable 'local_infile' seems not set to 'ON', found 'OFF', [0] </td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #50772 (mysqli constructor without parameters does not return a working mysqli object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #51605 Mysqli - zombie links</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #51647 (Certificate file without private key (pk in another file) doesn't work)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52082 (character_set_client & character_set_connection reset after mysqli_change_user)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52891 (Wrong data inserted with mysqli/mysqlnd when using bind_param,value > LONG_MAX)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #53503 (mysqli::query returns false after successful LOAD DATA query)</td><td>reason: Server variable 'local_infile' seems not set to 'ON', found 'OFF', [0] </td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54221 mysqli::get_warnings segfault when used in multi queries</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54674 mysqlnd valid_sjis_(head|tail) is using invalid operator and range.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55283 (SSL options set by mysqli_ssl_set ignored for MySQLi persistent connections)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55582 mysqli_num_rows() returns always 0 for unbuffered, when mysqlnd is used</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55653 PS crash with libmysql when binding same variable as param and out</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62046 mysqli@mysqlnd can't iterate over stored sets after call to mysqli_stmt_reset()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62885 (mysqli_poll - Segmentation fault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63398 (Segfault when polling closed link)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63398 (Segfault when calling fetch_object on a use_result and DB pointer has closed)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #66043 (Segfault calling bind_param() on mysqli)</td><td>reason: libmysql only test</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66124 (mysqli under mysqlnd loses precision when bind_param with 'i')</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66762 mysqli@libmysql segfault in mysqli_stmt::bind_result() when link closed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_float_handling - ensure 4 byte float is handled correctly</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #68077 (LOAD DATA LOCAL INFILE / open_basedir restriction)</td><td>reason: Server variable 'local_infile' seems not set to 'ON', found 'OFF', [0] </td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69899: Segfault on stmt close after free_result with mysqlnd.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_float_handling - ensure 4 byte float is handled correctly</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70949 (SQL Result Sets With NULL Can Cause Fatal Memory Errors)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71863 Segfault when EXPLAIN with "Unknown Column" Error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72489 (PHP Crashes When Modifying Array Containing MySQLi Result Data)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72701 mysqli_get_host_info() wrong output</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73462 (Persistent connections don't set $connect_errno)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73800 (sporadic segfault with MYSQLI_OPT_INT_AND_FLOAT_NATIVE)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73949 (leak in mysqli_fetch_object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74021 (fetch_array broken data. Data more then MEDIUMBLOB)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74547 mysqli::change_user() doesn't accept null as $database argument w/strict_types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74595 (ReflectionMethod::getParameters returns incorrect number of parameters)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74737: Incorrect ReflectionFunction information for mysqli_get_client_info</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74968 PHP crashes when calling mysqli_result::fetch_object with an abstract class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75018 Data corruption when reading fields of bit type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75434 Wrong reflection for mysqli_fetch_all function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_prepare() called on a closed connection should return FALSE (bug #75448)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Prepared Statement formatter truncates fractional seconds from date/time column (bug #76386)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77597: mysqli_fetch_field hangs scripts</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>ensure an error is returned when mysqli.allow_local_infile is off</td><td>reason: Server variable 'local_infile' seems not set to 'ON', found 'OFF', [0] </td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79084 (mysqlnd may fetch wrong column indexes with MYSQLI_BOTH)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79084 (mysqlnd may fetch wrong column indexes with MYSQLI_BOTH) - collision</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug (Incorrectly decoding bit values / Malformed server packet. Field length pointing)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL Bug #49406 (Binding params doesn't work when selecting a date inside a CASE-WHEN, http://bugs.mysql.com/bug.php?id=49406)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Fail gracefully on empty result set</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_affected_rows()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli->affected_rows</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>PAM auth plugin</td><td>reason: Server PAM plugin not installed</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_autocommit()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli->autocommit()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_begin_transaction()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_change_user()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli_change_user() - GET_LOCK()</td><td>reason: - is the server still buggy?</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_change_user() - LAST_INSERT_ID() - http://bugs.mysql.com/bug.php?id=45184?</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli_change_user() - table locks, GET_LOCK(), temporary tables</td><td>reason: - is the server still buggy?</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_change_user(), MySQL 5.6+</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli_change_user(), MySQL < 5.6</td><td>reason: For MySQL < 5.6.0</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli->change_user()</td><td>reason: For MySQL < 5.6.0</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_change_user() - Prepared Statement</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_change_user() - ROLLBACK</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_change_user() - SET NAMES</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Fetching results from tables of different charsets.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_chararcter_set_name(), mysql_client_encoding() [alias]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_chararcter_set_name(), mysql_client_encoding() [alias]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Interface of the class mysqli_driver</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Interface of the class mysqli_driver - Reflection</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Interface of the class mysqli</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Interface of the class mysqli</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Interface of the class mysqli - Reflection</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Interface of the class mysqli_result</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Interface of the class mysqli_result - Reflection</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Interface of the class mysqli_stmt</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Interface of the class mysqli_warning - TODO</td><td>reason: - experimental (= unsupported) feature</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Interface of the class mysqli_stmt - Reflection</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_close()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_close()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_commit()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_commit()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_connect()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli check the session_connect_attrs table for connection attributes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_connect_errno()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_connect_error()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>new mysqli()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>new mysqli()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>new mysqli()</td><td>reason: : test for libmysql (different error output when using php streams</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Calling connect() on an open connection to create a new connection</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Constants exported by ext/mysqli</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Constants exported by ext/mysqli - checking category - PHP bug not mysqli bug (check from time to time)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_data_seek()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_result->data_seek()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli_debug()</td><td>reason: : debug functionality not enabled</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli_debug() - append to trace file</td><td>reason: : debug functionality not enabled</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli_debug() - invalid debug control strings</td><td>reason: : debug functionality not enabled</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli_debug() - enabling trace with ini setting</td><td>reason: : debug functionality not enabled</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli_debug() - all control string options supported by both mysqlnd and libmysql except oOaA</td><td>reason: : debug functionality not enabled</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli_debug() - mysqlnd only control strings</td><td>reason: : debug functionality not enabled</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli_disable_reads_from_master()</td><td>reason: mysqli_disable_reads_from_master() not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_driver class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to clone mysqli_driver object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_dump_debug_info()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_dump_debug_info()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli_embedded_connect()</td><td>reason: test for with embedded server only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli_enable_reads_from_master()</td><td>reason: function mysqli_enable_reads_from_master() not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_errno()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$mysqli->errno</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_error()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$mysqli->error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_error()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL 5.6 EXPIRE PASSWORD protocol change</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>EXPLAIN - metadata</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_all()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$mysqli->fetch_all() (introduced with mysqlnd)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_array() - all datatypes but BIT</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_array()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_array() - large packages (to test compression)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_array()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli->fetch_array()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_assoc()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_assoc() - BIT</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_assoc()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_assoc() - utf8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_assoc()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_assoc() - ZEROFILL</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_field()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_field_direct()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$res->fetch_field_direct(s)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_field() - flags/field->flags</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_field()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_field() - data types/field->type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_fields()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_lengths()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_result->lengths</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_object()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_object() - calling constructor on class wo constructor</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_object()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_object()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_fetch_row()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_field_count()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_field_seek()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_field_tell()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Forking a child and using the same connection.</td><td>reason: Process Control Functions not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_free_result()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_get_charset()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_get_client_info()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_get_client_stats()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_get_client_stats() - implicit_free_result</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_get_client_stats() - php_ini setting</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_get_client_stats() - PS</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_get_client_stats() - skipped rows</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_get_client_version()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_get_connection_stats()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_get_connection_stats() - disable via php.ini</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_get_host_info()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_get_proto_info()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_get_server_info()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_get_server_version()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli_get_warnings() - TODO</td><td>reason: - experimental (= unsupported) feature</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_info()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_init()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_insert_id()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Checking last_insert_id after different operations</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>INSERT and packet overflow</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_kill()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>API vs. SQL LAST_INSERT_ID()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ensure default for local infile is off</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>enable local infile</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing mysqli.max_links</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_more_results()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_multi_query()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqlnd.net_read_timeout limit check</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqlnd.net_read_timeout > default_socket_timeout</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqlnd.net_read_timeout = 0</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_next_result()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying implicit reconnect after wait_timeout and KILL using mysqli_ping()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_num_fields()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_num_rows()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74432, BC issue on undocumented connect string</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_options()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_options()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_options() - MYSQLI_OPT_INT_AND_FLOAT_NATIVE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_options() - MYSQLI_OPT_LOCAL_INFILE and open_basedir</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>PAM: SHA-256</td><td>reason: Cannot set @@session.old_passwords=2 [1193] Unknown system variable 'old_passwords'</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>PAM: SHA-256, mysqlnd.sha256_server_public_key</td><td>reason: Cannot set @@session.old_passwords=2 [1193] Unknown system variable 'old_passwords'</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>PAM: SHA-256, option: MYSQLI_SERVER_PUBLIC_KEY</td><td>reason: Cannot set @@session.old_passwords=2 [1193] Unknown system variable 'old_passwords'</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>PAM: SHA-256, option: MYSQLI_SERVER_PUBLIC_KEY (invalid)</td><td>reason: Cannot set @@session.old_passwords=2 [1193] Unknown system variable 'old_passwords'</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Calling connect() on an open persistent connection to create a new persistent connection</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli_pconnect() - mysqli.allow_persistent = 0</td><td>reason: TODO - we need to add a user level way to check if CHANGE_USER gets called by pconnect</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Killing a persistent connection.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Persistent connections - limits (-1, unlimited)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Persistent connections and mysqli.max_links</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli_pconnect() - reusing/caching persistent connections - TODO</td><td>reason: TODO - we need to add a user level way to check if CHANGE_USER gets called by pconnect</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Calling connect() on an open persistent connection to create a new persistent connection</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_pconnect()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>phpinfo() mysqli section</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_ping()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>int mysqli_poll() simple</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>int mysqli_poll() and kill</td><td> XFAIL REASON: To be fixed later. Minor issue about fetching error message from killed line</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_poll() & INSERT SELECT</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_poll() & references</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_prepare()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_prepare() - no object on failure</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Prepared Statements and SELECT UNION</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_query()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli iterators</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_query() - Stored Procedures</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_query() - unicode (cyrillic)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_real_connect()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_real_connect() - persistent connections</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_real_escape_string()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_real_escape_string() - big5</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_real_escape_string() - eucjpms</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_real_escape_string() - euckr</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_real_escape_string() - gb2312</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_real_escape_string() - gbk</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_real_escape_string() - SQL Mode NO_BACKSLASH_ESCAPE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_real_escape_string() - sjis</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_real_escape_string()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_real_query()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_reap_async_query()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Trying implicit reconnect after wait_timeout and KILL using mysqli_ping()</td><td>reason: : test for libmysql</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_release_savepoint()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_report()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_report(), change user, MySQL 5.6+</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli_report(), MySQL < 5.6</td><td>reason: For MySQL < 5.6.0</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_result(), invalid mode</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>References to result sets</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>References to result sets - mysqlnd (no copies but references)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to clone mysqli_result object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_rollback()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_savepoint()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_select_db()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli_send_query()</td><td>reason: mysqli_send_query() not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_set_charset()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_set_opt()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_sqlstate()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_ssl_set() - test is a stub!</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stat()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_affected_rows()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_attr_get()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli_stmt_attr_get() - prefetch</td><td>reason: : prefetch isn't supported at the moment</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_attr_set() - mysqlnd does not check for invalid codes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_prepare()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bind limits</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_bind_param()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_bind_param used with call_user_func_array() (see also bug #43568)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_bind_param() - checking whether the parameters are modified (bug#44390)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_bind_param() - Binding with very high number of columns</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_bind_param() - playing with references</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_bind_param() - binding variable twice</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_bind_result()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_bind_result()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Playing with SELECT FORMAT(...) AS _format - see also bugs.php.net/42378</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_bind_result() - playing with references</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_bind_result() - ZEROFILL</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_close()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_data_seek()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Playing with datatype change between prepare and execute</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_errno()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_error()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_execute()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_execute() - Stored Procedures</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>mysqli_stmt_execute() - SP, next result</td><td> XFAIL REASON: Unsupported and undefined, under development</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>mysqli_stmt_execute() - OUT</td><td> XFAIL REASON: Unsupported and undefined, under development</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_fetch()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Fetching BIT column values using the PS API</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_fetch_fields() unicode, win32</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_fetch - geometry / spatial types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_field_counts()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_free_result()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_get_result()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_get_result()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Fetching BIT column values using the PS API</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_get_result() - meta data, field_count()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_get_result - geometry / spatial types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_get_result() - meta data</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_get_result() - meta data, field info</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_get_result() - SHOW, DESCRIBE, EXPLAIN</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_get_result() - seeking</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_get_result - data types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_get_warnings() - TODO</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_init()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_insert_id()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Multiple result set with PS</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_num_rows()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_param_count()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_prepare()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_reset()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_result_metadata()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli_stmt_result_metadata() - non SELECT statements</td><td>reason: Check again when the Klingons visit earth - http://bugs.mysql.com/bug.php?id=42490</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_send_long_data()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>mysqli_stmt_send_long_data() - exceed packet size, libmysql - bug #26824</td><td>reason: : test for libmysql</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_send_long_data() - exceed packet size, mysqlnd</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_sqlstate()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_stmt_store_result()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to clone mysqli_stmt object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_store_result()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_store_result()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_store_result()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_thread_id()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_thread_safe()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Trying to clone mysqli object</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_use_result()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>mysqli_warning_count()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Trying to clone mysqli_warning object</td><td>reason: - experimental (= unsupported) feature</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>001: O+ works in CLI</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Type inference for $ary[$idx]->prop +=</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Blacklist (with glob, quote and comments)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Blacklist (with glob, quote and comments)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Block pass: Bugs in BOOL/QM_ASSIGN elision</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Removing a block that has duplicate successors</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Incorrect constant propagation on BOOL in pass 1</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>$v = !$v/(bool)$v checks for undefined variables</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #69838 OPCACHE Warning Internal error: wrong size calculation</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #64353 (Built-in classes can be unavailable with dynamic includes and OPcache)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #64482 (Opcodes for dynamic includes should not be cached)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #65510 (5.5.2 crashes in _get_zval_ptr_ptr_var)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #65559 (cache not cleared if changes occur while running)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #65665 (Exception not properly caught when opcache enabled)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #65845 (Error when Zend Opcache Optimizer is fully enabled)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #65915 (Inconsistent results with require return value)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #66176 (Invalid constant substitution)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #66251 (Constants get statically bound at compile time when Optimized)</td><td>reason: CLI only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #66334 (Memory Leak in new pass1_5.c optimizations)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #66338 (Optimization binding of class constants is not safely opcacheable)</td><td>reason: CLI only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #66440 (Optimisation of conditional JMPs based on pre-evaluate constant function calls)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #66461 (PHP crashes if opcache.interned_strings_buffer=0)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #66474 (Optimizer bug in constant string to boolean conversion)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #67215 (php-cgi work with opcache, may be segmentation fault happen)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #68104 (Segfault while pre-evaluating a disabled function)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #68252 (segfault in Zend/zend_hash.c in function _zend_hash_del_el)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #68644 strlen incorrect : mbstring + func_overload=2 + UTF-8 + Opcache</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #69038 (switch(SOMECONSTANT) misbehaves)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #69125 (Array numeric string as key)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #69159 (Opcache causes problem when passing a variable variable to a function)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test that script cached info is correct with validate_timestamps disabled</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #69549 (Memory leak with opcache.optimization_level=0xFFFFFFFF)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #69688 (segfault with eval and opcache fast shutdown)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #70111 (Segfault when a function uses both an explicit return type and an explicit cast)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #70207 Finally is broken with opcache</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #70237 (Empty while and do-while segmentation fault with opcode on CLI enabled)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #70423 Warning Internal error: wrong size calculation</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #71127 (Define in auto_prepend_file is overwrite)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #71443 (Segfault using built-in webserver with intl using symfony)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #71843 (null ptr deref ZEND_RETURN_SPEC_CONST_HANDLER (zend_vm_execute.h:3479))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #72014 (Including a file with anonymous classes multiple times leads to fatal error)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #72762: Infinite loop while parsing a file with opcache enabled</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #73402 (Opcache segfault when using class constant to call a method)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #73583 (Segfaults when conditionally declared class and function have the same name)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #73654: Segmentation fault in zend_call_function</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #73668: "SIGFPE Arithmetic exception" in opcache when divide by minus 1</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #73746 (Method that returns string returns UNKNOWN:0 instead)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #73789 (Strange behavior of class constants in switch/case block)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #73847: Recursion when a variable is redefined as array</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #74019 (Segfault with list)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #74152 (if statement says true to a null variable)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #74431 - foreach infinite loop</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #74442: Opcached version produces a nested array</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #74456 (Segmentation error while running a script in CLI mode)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #74596 (SIGSEGV with opcache.revalidate_path enabled)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #74623: Infinite loop in type inference when using HTMLPurifier</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #74663 (Segfault with opcache.memory_protect and validate_timestamp)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #74980 (Narrowing occurred during type inference)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #75230 (Invalid opcode 49/1/8 using opcache)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #75255 (Request hangs and not finish)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #75357 (segfault loading WordPress wp-admin)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #75370 (Webserver hangs on valid PHP text)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #75556 (Invalid opcode 138/1/1)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #75570 ("Narrowing occurred during type inference" error)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #75608 ("Narrowing occurred during type inference" error)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #75681: Warning: Narrowing occurred during type inference (specific case)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #75687 (var 8 (TMP) has array key type but not value type)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #75698: Using @ crashes php7.2-fpm</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #75729: opcache segfault when installing Bitrix</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #75893: file_get_contents $http_response_header variable bugged with opcache</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #75938: Modulus value not stored in variable</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #75969: Assertion failure in live range DCE due to block pass misoptimization</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #76074 (opcache corrupts variable in for-loop)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #76094 (Access violation when using opcache)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #76275: Assertion failure in file cache when unserializing empty try_catch_array</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #76281: Opcache causes incorrect "undefined variable" errors</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug 76337: segmentation fault when an extension use zend_register_class_alias() and opcache enabled</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #76446 (zend_variables.c:73: zend_string_destroy: Assertion `!(zval_gc_flags((str)->gc)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #76463 (var has array key type but not value type)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #76466 Loop variable confusion</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #76477 (Opcache causes empty return value)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #76711 OPcache enabled triggers false-positive "Illegal string offset"</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #76796: Compile-time evaluation of disabled function in opcache (SCCP) causes segfault</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #77058: Type inference in opcache causes side effects</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #77092: array_diff_key() - segmentation fault</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77191: Assertion failure in dce_live_ranges() when silencing is used</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #77215: CFG assertion failure on multiple finalizing switch frees in one block</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #77257: value of variable assigned in a switch() construct gets lost</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #77266 (Assertion failed in dce_live_ranges)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #77275: OPcache optimization problem for ArrayAccess->offsetGet(string)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #77310 (1): Incorrect SCCP for compound assign to arrays</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #77434: php-fpm workers are segfaulting in zend_gc_addref</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #77691: Opcache passes wrong value for inline array push assignments</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #77743: Incorrect pi node insertion for jmpznz with identical successors</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #78014 (Preloaded classes may depend on non-preloaded classes due to unresolved consts)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #78015: Incorrect evaluation of expressions involving partials array in SCCP</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #78034: "pecl" tool fails with abort assertion in zend_ssa.c</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #78106: Path resolution fails if opcache disabled during request</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #78175 (Preloading segfaults at preload time and at runtime)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #78175.2 (Preloading segfaults at preload time and at runtime)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #78185: file cache only no longer works</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #78189 (file cache strips last character of uname hash)</td><td>reason: opcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78230: Incorrect type check optimization</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78341: Failure to detect smart branch in DFA pass</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #78376 (Incorrect preloading of constant static properties)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #78429 (opcache_compile_file(__FILE__); segfaults)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #78937.1 (Preloading unlinkable anonymous class can segfault)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #78937.2 (Preloading unlinkable anonymous class can segfault)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #78937.3 (Preloading unlinkable anonymous class can segfault)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #78937.4 (Preloading unlinkable anonymous class can segfault)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #78937.5 (Preloading unlinkable anonymous class can segfault)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #78937.6 (Preloading unlinkable anonymous class can segfault)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #78961 (erroneous optimization of re-assigned $GLOBALS)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78986: Opcache segfaults when inheriting ctor from immutable into mutable class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79193: Incorrect type inference for self::$field =& $field</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #79412 (Opcache chokes and uses 100% CPU on specific script)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79535: PHP crashes with specific opcache.optimization_level</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test with compact literals</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Collision between string and float literals during compaction</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>exit() may occur in a call argument</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Incorrect DCE with FE_FETCH</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test that the directives listed with `opcache_get_configuration` include all those from the ini settings.</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Internal static methods should not be confused with global functions</td><td>reason: requires zend-test</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Don't add array value type is key type is illegal</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Throwings NEWs should not be DCEd</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test that script cached info is correct</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>ISSUE #57 (segfaults in drupal7)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>ISSUE #79 (Optimization Problem/Bug)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>ISSUE #115 (path issue when using phar)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>ISSUE #128 (opcache_invalidate segmentation fault)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Issue #140: "opcache.enable_file_override" doesn't respect "opcache.revalidate_freq"</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>ISSUE #149 (Phar mount points not working this OPcache enabled)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>ISSUE #183 (TMP_VAR is not only used once)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Don't optimize object -> iterable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Edge-cases in constant conditional jump elimination</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Incorrect empty basic block elimination</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Incorrect empty basic block elimination</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Incorrect empty basic block elimination</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Edge-cases in elimination of JMPZ JMP with same target</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Leak 001: Incorrect 'if ();' optimization</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test ACCEL_LOG_FATAL will cause the process to die even if not logged</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Literal compaction should take method calls on literals into account</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Incorrect negative range inference</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>DCE 001: Remove dead computation after constants propagation</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>DCE 002: func_get_args() disables deletion of assignments to parameter variables</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>DCE 003: Assignment elimination (without FREE)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>DCE 004: Elimination of assignment to non-escaping arrays</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>DCE 005: Elimination of assignment to non-escaping objects (can't remove NEW yet)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>DCE 006: Objects with destructors escape</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>DCE 007: Escaping of enclosed arrays doesn't prevent removal of enclosing array</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>DCE 008: Escaping of enclosed arrays doesn't prevent removal of enclosing array</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>JMP 001: JMP_SET with constant arg</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Property types in inference</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 001: Constant propagation</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 002: Conditional Constant Propagation of non-escaping array elements</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 003: Conditional Constant Propagation of non-escaping array elements</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 004: Conditional Constant Propagation of non-escaping array elements</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 005: Conditional Constant Propagation of non-escaping array elements</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 006: Conditional Constant Propagation of non-escaping array elements</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 007: Conditional Constant Propagation of non-escaping array elements</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 008: Conditional Constant Propagation of non-escaping array elements</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 009: Conditional Constant Propagation of non-escaping array elements</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 010: Conditional Constant Propagation of non-escaping object properties</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 011: Conditional Constant Propagation of non-escaping object properties</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 012: Conditional Constant Propagation of non-escaping object properties</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 013: Conditional Constant Propagation of non-escaping array elements on PHI</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 014: Conditional Constant Propagation of non-escaping object properties on PHI</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 015: Conditional Constant Propagation of non-escaping object properties on PHI and Rewinding</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 016: Used constant instructions should be replaced with QM_ASSIGN</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 017: Array assignemnt</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 018: Object assignemnt</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 019: Array assignemnt</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 020: Object assignemnt</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 021: Memleak</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 022: Invailid types</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 023: ADD_ARRAY_ELEMENT with partial array</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 024: Const replacing to op2 of INSTANCEOF</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 025: ADD_ARRAY_ELEMENT against an existing const array</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 026: Elimination of dead code due to conflicting type checks</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 027: Support for ASSIGN_OBJ_REF</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 028: Don't propagate typed properties</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 029: Don't propagate assignments to references to typed properties</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SCCP 030: TYPE_CHECK inferred from type inference info</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test with optimization of function calls</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Don't create FETCH_DIM_R with UNUSED op2</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Keep BIND_STATIC when initial value refer to unresolved constants</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phi sources remove 001</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phi sources remove 002</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Preloading basic test</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Preloading prototypes</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Preloading classes linked with traits</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Preloading class with undefined class constant access</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Handling of auto globals during preloading</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Handling of errors during linking</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Handling of includes that were not executed</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Preloading of anonymous class</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Preloading class using trait with undefined class constant access</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Initializer of overwritten property should be resolved against the correct class</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Argument/return types must be available for preloading</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>No autoloading during constant resolution</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Nested function definition</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #79114 (Eval class during preload causes class to be only half available)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #78918: Class alias during preloading causes assertion failure</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #78918.2: Class alias during preloading causes assertion failure</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Preloading: Loadable class checking (1)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Preloading: Loadable class checking (2)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Preloading: Loadable class checking (3)</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #79548: Preloading segfault with inherited method using static variable</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Preload trait with static variables in method</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Preload: Unresolved property type</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Preloading is not supported on Windows</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>revalidate_path 01: OPCache must cache only resolved real paths when revalidate_path is set</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Check that SCCP correctly handles non-terminating frees of loop variables</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Type inference of SEND_UNPACK with empty array</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SSA constrution for CFG with unreachable basic blocks</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Incorrect NOP removal on jump to NOP</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Incorrect elision of return type checks</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Assign elision exception safety: ICALL</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Assign elision exception safety: UCALL</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Incorrect optimization of $i = $i++</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Incorrect CFG/SSA construction for SWITCH with few identical successors</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Incorrect CFG/SSA reconstruction</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Incorrect type inference</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Wrong assertion</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Wrong assertion</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Switch where all targets, including default, coincide</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Incorrect liveness computation for verify-return</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Instanceof checks in VERIFY_RETURN_TYPE optimization may deal with unlinked classes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Pass result of inlined function by reference</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>$this not in object context</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>foo($bar) with undefined $bar</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Inlining throgh call_user_func()</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Inlining of functions with ref arguments</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test basic logging for the Opcache</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>OpenSSL private key functions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl: get public key from generated private key</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #28382 (openssl_x509_parse extensions support)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #36732 (add support for req_extensions in openss_csr_new and sign)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_sign/verify: accept different algos</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl key from zval leaks</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl key from zval leaks</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39217 (Large serial number return -1)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>#41033, enable signing with DSA keys</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41353 (openssl_pkcs12_read() does not verify the type of the first arg)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>#46127 php_openssl_tcp_sockop_accept forgets to set context on accepted stream</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47828 (segfaults when a UTF-8 conversion fails openssl_x509_parse())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48182: ssl handshake fails during asynchronous socket connection</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54060 (Memory leak in openssl_encrypt)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54061 (Memory leak in openssl_decrypt)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54992: Stream not closed and error not returned when SSL CN_match fails</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55259 (openssl extension does not get the DH parameters from DH key resource)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55646: textual input in openssl_csr_new() is not expected in UTF-8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60632: openssl_seal fails with AES</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61124: Segmentation fault with openssl_decrypt</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61930: openssl corrupts ssl key resource when using openssl_get_publickey()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64802: openssl_x509_parse fails to parse subject properly in some cases</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65538: SSL context "cafile" supports stream wrappers</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65538: SSL context "cafile" disallows URL stream wrappers</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65538: SSL context "cafile" supports phar wrapper</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65689 (GeneralizedTime format parsing)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65729: CN_match gives false positive when wildcard is used</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66501: EC private key support in openssl_sign</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67403: Add signatureType to openssl_x509_parse</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>FAIL</td><td>Bug #68265: SAN match fails with trailing DNS dot</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>FAIL</td><td>Bug #68879: Match IP address fields in subjectAltName checks</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68912 (Segmentation fault at openssl_spki_new)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>FAIL</td><td>Bug #68920: peer_fingerprint input checks should be strict</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>FAIL</td><td>Bug #69215: Crypto servers should send client CA list</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70395 (Missing ARG_INFO for openssl_seal())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Request #70438: Add IV parameter for openssl_seal and openssl_open</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71475: openssl_seal() uninitialized memory usage</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71917: openssl_open() returns junk on envelope < 16 bytes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72165 Null pointer dereference - openssl_csr_new</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72333: fwrite() on non-blocking SSL sockets doesn't work</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72336 (openssl_pkey_new does not fail for invalid DSA params)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72362: OpenSSL Blowfish encryption is incorrect for short keys</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73072: Invalid path SNI_server_certs causes segfault</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73478: openssl_pkey_new() generates wrong pub/priv keys with Diffie Hellman</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73711: Segfault in openssl_pkey_new when generating DSA or DH key</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73833: null character not allowed in openssl_pkey_get_private</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74022 PHP Fast CGI crashes when reading from a pfx file with valid password</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74022 PHP Fast CGI crashes when reading from a pfx file with valid password, multiple extra certs</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74099 Memory leak with openssl_encrypt()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74159: Writing a large buffer to non-blocking encrypted streams fails</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74341 (openssl_x509_parse fails to parse ASN.1 UTCTime without seconds)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #74402 (segfault on random_bytes, bin3hex, openssl_seal)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74651: negative-size-param (-1) in memcpy in zif_openssl_seal()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74720 pkcs7_en/decrypt does not work if \x1a is used in content, variant 0</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74720 pkcs7_en/decrypt does not work if \x1a is used in content, variant 1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74798 pkcs7_en/decrypt does not work if \x0a is used in content</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74903 openssl_pkcs7_encrypt() uses different EOL than before</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75307 Wrong reflection for openssl_open function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76296 openssl_pkey_get_public does not respect open_basedir</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76705: unusable ssl => peer_fingerprint in stream_context_create()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76705: feof might hang on TLS streams in case of fragmented TLS records</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78391: Assertion failure in openssl_random_pseudo_bytes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79145 (openssl memory leak)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>capture_peer_cert context captures on verify failure</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Check for default OpenSSL config path on Windows</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>CVE-2013-6420</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>CVE 2013-4073: Null-byte certificate handling</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_*() with OPENSSL_KEYTYPE_EC</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_csr_export() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_csr_export_to_file() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_csr_get_public_key() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_csr_get_subject() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_csr_new() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_csr_sign() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_decrypt() tests dependent on openssl_encrypt</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_decrypt() with CCM cipher algorithm tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_decrypt() error tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_decrypt() with GCM cipher algorithm tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_digest() basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_encrypt() with CCM cipher algorithm tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_encrypt() crash with old OpenSSL</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_encrypt() error tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_encrypt() with GCM cipher algorithm tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_error_string() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>void openssl_free_key ( resource $key_identifier );</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_get_cert_locations() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_get_cipher_methods basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_get_md_methods basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_open() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_pbkdf2() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing peer fingerprint on connection</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_pkcs12_export() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_pkcs12_export_to_file() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_pkcs12_export_to_file() error tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_pkcs12_read() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_pkcs7_decrypt() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_pkcs7_decrypt() and invalid parameters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_pkcs7_encrypt() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_pkcs7_read() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_pkcs7_sign() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_pkcs7_verify() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_pkey_derive() DH</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_pkey_derive() ECDH</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_pkey_export() with EC key</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_pkey_get_details() with EC key</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_pkey_new() basic usage tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_pkey_new() error tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_private_decrypt() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_private_encrypt() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_public_decrypt() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_public_encrypt() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_random_pseudo_bytes() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test error operation of openssl_random_pseudo_bytes()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_seal() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_sign() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_spki_export() tests for exporting public key</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_spki_export_challenge() tests for exporting challenge</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_spki_new() test for creating SPKI string</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_spki_verify() tests for valid signature</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_verify() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_x509_check_private_key() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>int openssl_x509_checkpurpose ( mixed $x509cert , int $purpose [, array $cainfo = array() [, string $untrustedfile ]] ) function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_x509_export() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_x509_export_to_file() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_x509_fingerprint() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_x509_free() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_x509_parse() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_x509_read() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>openssl_x509_verify() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Peer verification enabled for client streams</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Peer verification matches SAN names</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Capture SSL session meta array in stream context</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Capture SSL session meta array in stream context for TLSv1.3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>sni_server</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>sni_server with separate pk and cert</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Basic bitwise stream crypto context flag assignment</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>TLSv1.1 and TLSv1.2 bitwise stream crypto flag assignment</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Server bitwise stream crypto flag assignment</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Specific protocol method specification</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>security_level setting to prohibit cert</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>TLS server rate-limits client-initiated renegotiation</td><td>reason: couldn't locate openssl binary</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Verify host name by default in client transfers</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Allow host name mismatch when "verify_host" disabled</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Host name mismatch triggers error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Specific crypto method for ssl:// transports.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>tls stream wrapper with min version 1.0 and max version 1.1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>tls stream wrapper</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>tls stream wrapper when TLS 1.3 available</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>tlsv1.0 stream wrapper</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>tlsv1.1 stream wrapper</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>tlsv1.2 stream wrapper</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>tlsv1.3 stream wrapper</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>abusing preg_match()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_* with bogus vals</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>abusing preg_match_all()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>abusing pcre</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>abusing preg_match_all() #2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_replace() with array of failing regular expressions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_replace_callback() with callback that modifies subject string</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Backtracking limit</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #20528 (preg_split() drops characters (re-opens Bug #15413))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #21732 (preg_replace() segfaults with invalid parameters)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #21758 (preg_replace_callback() not working with class methods)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #26927 (preg_quote() does not escape \0)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #27011 (segfault in preg_match_all())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #27103 (preg_split('//u') incorrectly splits UTF-8 strings into octets)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #34790 (preg_match_all(), named capturing groups, variable assignment/return => crash)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #37800 (preg_replace() limit parameter odd behaviour)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #37911 (preg_replace_callback ignores named groups)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38600 (infinite loop in pcre with extended class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #40195 (pcre 6.7 regression)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #40909 (pcre 7.0 regression)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41050 (pcre 7.0 regression)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41148 (pcre 7.0 regression)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41638 (pcre 7.0 regression)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42298 (pcre gives bogus results with /u)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42737 (preg_split('//u') triggers a E_NOTICE with newlines)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42945 (preg_split() swallows part of the string)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44191 (preg_grep messes up array index)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44214 (crash with preg_replace_callback() and global variable)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44214-2 (crash with preg_replace_callback() and global variable)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44925 (preg_grep() modifies input array)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47229 (preg_quote() doesn't escape -)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47662 (support more than 127 named subpatterns)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52732 (Docs say preg_match() returns FALSE on error, but it returns int(0))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52971 (PCRE-Meta-Characters not working with utf-8)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53823 - preg_replace: * qualifier on unicode replace garbles the string</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61780 (Inconsistent PCRE captures in match results): basics</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61780 (Inconsistent PCRE captures in match results): numeric subpatterns</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61780 (Inconsistent PCRE captures in match results): named subpatterns</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63055 (Segfault in zend_gc with SF2 testsuite)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66121 - UTF-8 lookbehinds match bytes instead of characters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67238 Ungreedy and min/max quantifier bug in PCRE 8.34 upstream</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69864 (Segfault in preg_replace_callback)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70232 (Incorrect bump-along behavior with \K and empty string match)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70345 (Multiple vulnerabilities related to PCRE functions)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Fixed bug #71537 (PCRE segfault from Opcache)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #72463 mail fails with invalid argument</td><td>reason: not for windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72463 mail fails with invalid argument</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72685: Same string is UTF-8 validated repeatedly</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72688 (preg_match missing group names in matches)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73392 (A use-after-free in zend allocator management)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73483 (Segmentation fault on pcre_replace_callback)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73612 (preg_*() may leak memory)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74183 - preg_last_error not returning error code after error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74873 (Minor BC break: PCRE_JIT changes output of preg_match())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75089 (preg_grep() is not reporting PREG_BAD_UTF8_ERROR after first input string)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>CVE-2016-1283, see bug #75207</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75355 (preg_quote() does not quote # control character)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75457 (heap-use-after-free in php7.0.25)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75539 - Recursive call errors are not reported by preg_last_error()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76127: preg_split does not raise an error on invalid UTF-8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76512 (\w no longer includes unicode characters)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76514 Regression in preg_match makes it fail with PREG_JIT_STACKLIMIT_ERROR</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76850 Exit code mangled by set locale/preg_match</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76909 preg_match difference between 7.3 and < 7.3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77193 Infinite loop in preg_replace_callback</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77827 (preg_match does not ignore \r in regex flags)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #78272: calling preg_match() before pcntl_fork() will freeze child process</td><td>reason: pcntl extension required</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78338 (Array cross-border reading in PCRE)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78853 (preg_match() may return integer > 1)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79188: Memory corruption in preg_replace/preg_replace_callback and unicode</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79241: Segmentation fault on preg_match()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79257: Duplicate named groups (?J) prefer last alternative even if not matched</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Compiled regex cache limit</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Check for JIT enablement status</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Delimiters crash test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>D (PCRE_DOLLAR_ENDONLY) modifier</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_grep()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_grep() 2nd test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_replace() and invalid UTF8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_replace() and invalid UTF8 offset</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Localized match</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test support for PCRE marks</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_match_all() flags</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_match() flags</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_match() flags 3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Multi-line match</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test (*NO_JIT) doesn't crash when JIT enabled</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Zero byte test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test for pre-defined pcre constants</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>A (PCRE_ANCHORED) modifier</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_replace() fifth parameter - count</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>x (PCRE_EXTENDED) modifier</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>X (PCRE_EXTRA) modifier</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_filter()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_grep() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_grep() function : error conditions - bad regular expressions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_match_all() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_match_all() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_match_all() function : error conditions - bad regular expressions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_match_all() function : error conditions - wrong arg types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_match_all() function : error conditions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_match() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_match() single line match with multi-line input</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_match() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_match() function : error conditions - bad regular expressions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_match() function : error conditions - wrong arg types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_match() function : error conditions - jit stacklimit exhausted</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Pattern exhausting PCRE JIT stack</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_match() single line match with latin input</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_match() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_quote() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_replace()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_replace()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_replace() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_replace_callback()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_replace_callback() 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_replace_callback() 3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_replace_callback_array() basic functions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_replace_callback_array() errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_replace_callback() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_replace_callback() function : error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Support for flags in preg_replace_callback(_array)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_replace() function : basic</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_replace() function : error - bad regular expressions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_replace() function : error conditions - wrong arg types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_replace() function : variation both arguments are arrays</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_split() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test preg_split() function : error conditions - bad regular expressions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PCRE Recursion limit</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Request #47456 (Missing PCRE option 'J')</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_split()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>preg_split() 2nd test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Study regex</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>U (PCRE_UNGREEDY) modifier</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>public static array PDO::getAvailableDrivers ( void );
array pdo_drivers ( void );</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41125 (PDO mysql + quote() + prepare() can result in seg fault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44327 (PDORow::queryString property & numeric offsets / Crash)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46292 (PDO::setFetchMode() shouldn't requires the 2nd arg when using FETCH_CLASSTYPE)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44327 (PDORow::queryString property & numeric offsets / Crash)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO MySQL Bug #53782 (foreach throws irrelevant exception)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54929 (Parse error with single quote in sql comment (pdo-mysql))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63176 (Segmentation fault when instantiate 2 persistent PDO to the same db server)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66141 (mysqlnd quote function is wrong with NO_BACKSLASH_ESCAPES after failed query)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO MySQL Bug #38671 (PDO#getAttribute() cannot be called with platform-specific attribute names)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70272 (Segfault in pdo_mysql)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70389 (PDO constructor changes unrelated variables)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL Prepared Statements and BLOBs</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71569 (#70389 fix causes segmentation fault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO MySQL Bug #75177 Type 'bit' is fetched as unexpected string</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77289: PDO MySQL segfaults with persistent connection</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79596 (MySQL FLOAT truncates to int some locales)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO MySQL Bug #33689 (query() execute() and fetch() return false on valid select queries)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO MySQL Bug #37445 (Premature stmt object destruction)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO MySQL Bug #38546 (bindParam incorrect processing of bool types)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO MySQL Bug #39483 (Problem with handling of \ char in prepared statements)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>Bug #39858 (Lost connection to MySQL server during query by a repeated call stored proced)</td><td> XFAIL REASON: nextRowset() problem with stored proc & emulation mode & mysqlnd</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #41125 (PDO mysql + quote() + prepare() can result in segfault)</td><td>reason: 50702</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO MySQL Bug #41698 (float parameters truncated to integer in prepared statements)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>PDO MySQL Bug #41997 (stored procedure call returning single rowset blocks future queries)</td><td> XFAIL REASON: nextRowset() problem with stored proc & emulation mode & mysqlnd</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42499 (Multi-statement execution via PDO::exec() makes connection unusable)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43371 (Memory errors in PDO constructor)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44454 (Unexpected exception thrown in foreach() statement)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44707 (The MySQL PDO driver resets variable content after bindParam on tinyint field)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45120 (PDOStatement->execute() returns true then false for same statement)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #50323 (No ability to connect to database named 't;', no chance to escape semicolon)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #51670 (getColumnMeta causes segfault when re-executing query after calling nextRowset)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO MySQL Bug #61207 (PDO::nextRowset() after a multi-statement query doesn't always work)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61411 (PDO Segfaults with PERSISTENT == TRUE && EMULATE_PREPARES == FALSE)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61755 (A parsing bug in the prepared statements can lead to access violations)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74376 (Invalid free of persistent results on error/connection loss)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO MySQL PECL bug #1295 (http://pecl.php.net/bugs/bug.php?id=12925)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>PECL Bug #7976 (Calling stored procedure several times)</td><td> XFAIL REASON: Works with mysqlnd. It is not supported by libmysql. For libmysql is good enough to see no crash.</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td colspan='3'>---&gt; C:\agent\_work\1\b\php-test-pack-7.4-r886a34b/ext/pdo/tests (MySQL [C:\agent\_work\1\b\php-test-pack-7.4-r886a34b\ext\pdo_mysql\tests\common.phpt]) begin</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #34630 (inserting streams as LOBs)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #34687 (query doesn't return error information)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #35671 (binding by name breakage)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #36428 (Incorrect error message for PDO::fetchAll())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #36798 (Error parsing named parameters with queries containing high-ascii chars)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #38253 (PDO produces segfault with default fetch mode)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #38394 (Prepared statement error stops subsequent statements)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #39398 (Booleans are not automatically translated to integers)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #39656 (Crash when calling fetch() on a PDO statement object after closeCursor())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #40285 (The prepare parser goes into an infinite loop on ': or ":)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #42917 (PDO::FETCH_KEY_PAIR doesn't work with setFetchMode)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #43130 (Bound parameters cannot have - in their name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #43139 (PDO ignore ATTR_DEFAULT_FETCH_MODE in some cases with fetchAll())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #43663 (__call on classes derived from PDO)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #44159 (Crash: $pdo->setAttribute(PDO::STATEMENT_ATTR_CLASS, NULL))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #44173 (PDO->query() parameter parsing/checking needs an update)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #44409 (PDO::FETCH_SERIALIZE calls __construct())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>MySQL PDO Common: Bug #44861 (scrollable cursor don't work with pgsql)</td><td>reason: Scrollable cursors not supported</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #47769 (Strange extends PDO)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #50458 (PDO::FETCH_FUNC fails with Closures)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #52098 Own PDOStatement implementation ignore __call()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #60665 (call to empty() on NULL result using PDO::FETCH_LAZY returns false)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #61292 (Segfault while calling a method on an overloaded PDO object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #64172 errorInfo is not properly cleaned up</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #65946 (pdo_sql_parser.c permanently converts values bound to strings)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #69356 (PDOStatement::debugDumpParams() truncates query)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #71447 (Quotes inside comments not properly handled)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: FR #71885 (Allow escaping question mark placeholders)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #72788 (Invalid memory access when using persistent PDO connection)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #73234 (Emulated statements let value dictate parameter type)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #77849 (Unexpected segfault attempting to use cloned PDO object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Bug #77849 (inconsistent state of cloned statament object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDOStatement::debugDumpParams() with emulated prepares</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDO::FETCH_ASSOC</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDO::FETCH_NUM</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDO::FETCH_BOTH</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDO::FETCH_OBJ</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDO::FETCH_CLASS</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDO::FETCH_GROUP</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDO::FETCH_UNIQUE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDO::FETCH_UNIQUE conflict</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDO::FETCH_CLASSTYPE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDO::FETCH_CLASSTYPE and GROUP/UNIQUE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDO::FETCH_FUNC and statement overloading</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDOStatement::setFetchMode</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDOStatement iterator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDOStatement SPL iterator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDO::FETCH_COLUMN</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDO::FETCH_BOUND</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDO::FETCH_BOUND w/o :</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: transactions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: serializing</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: fetch() and while()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDOStatement::columnCount</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDOStatement::execute with parameters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>MySQL PDO Common: PDOStatement::getColumnMeta</td><td> XFAIL REASON: This feature is not yet finalized, no test makes sense</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: extending PDO</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: assert that bindParam does not modify parameter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDO::FETCH_INTO</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: extending PDO (2)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDO::FETCH_LAZY</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: bindValue</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: extending PDO (3)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: extending PDO (4)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDOStatement SPL iterator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDO::ATTR_CASE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDO::quote()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDO::FETCH_KEY_PAIR fetch mode test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PDORow + get_parent_class()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL Testing PDORow and PDOStatement instances with Reflection</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL Crash when calling a method of a class that inherits PDOStatement</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDOStatement::fetchColumn() invalid column index</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL Test normal operation of PDO::getAvailableDrivers / pdo_drivers</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL Test that PDO::getAvailableDrivers / pdo_drivers does not accept any parameters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: Pass credentials in dsn instead of constructor params</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL Trying instantiate a PDORow object manually</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PECL Bug #5217 (serialize/unserialize safety)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PECL Bug #5772 (PDO::FETCH_FUNC breaks on mixed case func name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO Common: PECL Bug #5809 (PDOStatement::execute(array()) changes param)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td colspan='3'>---&gt; C:\agent\_work\1\b\php-test-pack-7.4-r886a34b/ext/pdo/tests (MySQL [C:\agent\_work\1\b\php-test-pack-7.4-r886a34b\ext\pdo_mysql\tests\common.phpt]) done</td></tr>
<tr><td>PASS</td><td>PDO MySQL auto_increment / last insert id</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->__construct() - Generic + DSN</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>MySQL PDO->__construct() - URI</td><td>reason: Fix test to run in other environments as well!</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->__construct(), options</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>MySQL PDO->__construct(), libmysql only options</td><td>reason: libmysql only options</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->__construct() - URI</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO::ATTR_AUTOCOMMIT</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO::ATTR_CASE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO::ATTR_CLIENT_VERSION</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO::ATTR_CONNECTION_STATUS</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO::ATTR_DRIVER_NAME</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO::ATTR_ERRMODE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO::ATTR_FETCH_TABLE_NAMES</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO::MYSQL_ATTR_INIT_COMMAND</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>MySQL PDO->__construct(), PDO::MYSQL_ATTR_MAX_BUFFER_SIZE</td><td>reason: PDO::MYSQL_ATTR_MAX_BUFFER_SIZE not supported with mysqlnd</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO::MYSQL_ATTR_MULTI_STATEMENTS</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO::ATTR_ORACLE_NULLS</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO::ATTR_PREFETCH</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO::ATTR_SERVER_INFO</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO::ATTR_SERVER_VERSION</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO::ATTR_STATEMENT_CLASS</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO->beginTransaction()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>MySQL PDO->exec(), BIT columns - remove after fix!</td><td>reason: Known bug - mysqlnd handles BIT incorrectly!</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO MySQL specific class constants</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->commit()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO_MYSQL: check the session_connect_attrs table for connection attributes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO_MYSQL: Defining a connection charset in the DSN</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->errorCode()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->errorInfo()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->exec(), affected rows</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->exec(), affected rows</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>MySQL PDO->exec(), affected rows</td><td>reason: secure_file_priv directory not writable: NULL</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->exec(), SELECT</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDOStatement->fetch()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->getAttribute()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO class interface</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->lastInsertId()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ensure default for local infile is off</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>enable local infile</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDOStatement->nextRowSet() with PDO::MYSQL_ATTR_MULTI_STATEMENTS either true or false</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO MySQL national character set parameters don't affect true prepared statements</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->__construct(), PDO::ATTR_PERSISTENT</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO phpinfo() output</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>WARN</td><td>MySQL PDO->prepare(), emulated PS</td><td> (warn: XFAIL section but test passes)</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->prepare(), emulated PS, anonymous placeholder</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->prepare(), emulated PS, anonymous placeholder</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>MySQL PDO->prepare() and 1295 (ER_UNSUPPORTED_PS)</td><td>reason: secure_file_priv directory not writable: NULL</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41876 (bindParam() and bindValue() do not work with MySQL MATCH () AGAINST ())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->prepare(), native PS</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->prepare(), native PS, clear line after error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->prepare(), native PS, named placeholder</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->prepare(), native PS, named placeholder II</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->prepare(), native PS, mixed, wired style</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->prepare(), native PS, named placeholder</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->prepare(),native PS, anonymous placeholder</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL ensure quote function returns expected results</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO::rollBack()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDOStatement->bindColumn()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDOStatement->bindParam()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDOStatement->bindParam() - SQL column types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDOStatement->bindValue()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDOStatement - inserting BLOB from stream</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL Prepared Statements and BLOBs</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDOStatement->closeCursor()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDOStatement->closeCursor()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDOStatement->columnCount()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDOStatement->errorCode();</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDOStatement->errorInfo();</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDOStatement->execute()/fetch(), Non-SELECT</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDOStatement->fetch(), PDO::FETCH_SERIALIZE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDOStatement->fetch(), PDO::FETCH_SERIALIZE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO: PDOStatement->fetchObject()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL: PDOStatement->getColumnMeta()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDOStatements and multi query</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>MySQL PDOStatement->nextRowSet()</td><td> XFAIL REASON: nextRowset() problem with stored proc & emulation mode & mysqlnd</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDOStatement->rowCount() @ SELECT</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>MySQL PDO:query() vs. PDO::prepare() and MySQL error 2050</td><td>reason: libmysql only test</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>MySQL Prepared Statements and different column counts</td><td> XFAIL REASON: nextRowset() problem with stored proc & emulation mode & mysqlnd</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDOStatement->execute()/fetch(), Non-SELECT</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->exec(), native types wo ZEROFILL</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>MySQL PDO->exec(), native types - ZEROFILL</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO MySQL PECL Bug #5200 (Describe table gives unexpected result mysql and type enum)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO MySQL PECL Bug #5780 (Failure to produce an error when one is expected)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO MySQL PECL Bug #5802 (bindParam/bindValue retain the is_null flag)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO MySQL SHOW TABLES</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO SQLite Bug #33841 (rowCount() does not work on prepared statements)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #35336 (crash on PDO::FETCH_CLASS + __set())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43831 ($this gets mangled when extending PDO with persistent connection)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44327.2 (PDORow::queryString property & numeric offsets / Crash)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #44327.3 (PDORow::queryString property & numeric offsets / Crash)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46139 (PDOStatement->setFetchMode() forgets FETCH_PROPS_LATE)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46542 Extending PDO class with a __call() function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48773 (Incorrect error when setting PDO::ATTR_STATEMENT_CLASS with ctor_args)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #50728 (All PDOExceptions hardcode 'code' property to 0)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52487 (PDO::FETCH_INTO leaks memory)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60104 (Segmentation Fault in pdo_sqlite when using sqliteCreateFunction())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66033 (Segmentation Fault when constructor of PDO statement throws an exception)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70221 (persistent sqlite connection + custom function segfaults)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO_sqlite: Testing sqliteCreateCollation()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO SQLite Bug #78192 SegFault when reuse statement after schema change</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO SQLite Feature Request #42589 (getColumnMeta() should also return table name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #63916 PDO::PARAM_INT casts to 32bit int internally even on 64bit builds in pdo_sqlite</td><td>reason: 32-bit only</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63916 PDO::PARAM_INT casts to 32bit int internally even on 64bit builds in pdo_sqlite</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td colspan='3'>---&gt; C:\agent\_work\1\b\php-test-pack-7.4-r886a34b/ext/pdo/tests (SQLite [C:\agent\_work\1\b\php-test-pack-7.4-r886a34b\ext\pdo_sqlite\tests\common.phpt]) begin</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #34630 (inserting streams as LOBs)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #34687 (query doesn't return error information)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #35671 (binding by name breakage)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #36428 (Incorrect error message for PDO::fetchAll())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #36798 (Error parsing named parameters with queries containing high-ascii chars)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #38253 (PDO produces segfault with default fetch mode)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #38394 (Prepared statement error stops subsequent statements)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #39398 (Booleans are not automatically translated to integers)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #39656 (Crash when calling fetch() on a PDO statement object after closeCursor())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #40285 (The prepare parser goes into an infinite loop on ': or ":)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #42917 (PDO::FETCH_KEY_PAIR doesn't work with setFetchMode)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SQLite PDO Common: Bug #43130 (Bound parameters cannot have - in their name)</td><td>reason: not relevant for sqlite driver</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #43139 (PDO ignore ATTR_DEFAULT_FETCH_MODE in some cases with fetchAll())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #43663 (__call on classes derived from PDO)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #44159 (Crash: $pdo->setAttribute(PDO::STATEMENT_ATTR_CLASS, NULL))</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #44173 (PDO->query() parameter parsing/checking needs an update)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #44409 (PDO::FETCH_SERIALIZE calls __construct())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SQLite PDO Common: Bug #44861 (scrollable cursor don't work with pgsql)</td><td>reason: Scrollable cursors not supported</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #47769 (Strange extends PDO)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #50458 (PDO::FETCH_FUNC fails with Closures)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #52098 Own PDOStatement implementation ignore __call()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #60665 (call to empty() on NULL result using PDO::FETCH_LAZY returns false)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #61292 (Segfault while calling a method on an overloaded PDO object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #64172 errorInfo is not properly cleaned up</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #65946 (pdo_sql_parser.c permanently converts values bound to strings)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #69356 (PDOStatement::debugDumpParams() truncates query)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #71447 (Quotes inside comments not properly handled)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: FR #71885 (Allow escaping question mark placeholders)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #72788 (Invalid memory access when using persistent PDO connection)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #73234 (Emulated statements let value dictate parameter type)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #77849 (Unexpected segfault attempting to use cloned PDO object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: Bug #77849 (inconsistent state of cloned statament object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SQLite PDO Common: PDOStatement::debugDumpParams() with emulated prepares</td><td>reason: driver cannot emulate prepared statements</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDO::FETCH_ASSOC</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDO::FETCH_NUM</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDO::FETCH_BOTH</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDO::FETCH_OBJ</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDO::FETCH_CLASS</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDO::FETCH_GROUP</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDO::FETCH_UNIQUE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDO::FETCH_UNIQUE conflict</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDO::FETCH_CLASSTYPE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDO::FETCH_CLASSTYPE and GROUP/UNIQUE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDO::FETCH_FUNC and statement overloading</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDOStatement::setFetchMode</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDOStatement iterator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDOStatement SPL iterator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDO::FETCH_COLUMN</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDO::FETCH_BOUND</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDO::FETCH_BOUND w/o :</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: transactions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: serializing</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: fetch() and while()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDOStatement::columnCount</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDOStatement::execute with parameters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>SQLite PDO Common: PDOStatement::getColumnMeta</td><td> XFAIL REASON: This feature is not yet finalized, no test makes sense</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: extending PDO</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: assert that bindParam does not modify parameter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDO::FETCH_INTO</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: extending PDO (2)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDO::FETCH_LAZY</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: bindValue</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: extending PDO (3)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: extending PDO (4)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDOStatement SPL iterator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDO::ATTR_CASE</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDO::quote()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDO::FETCH_KEY_PAIR fetch mode test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PDORow + get_parent_class()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite Testing PDORow and PDOStatement instances with Reflection</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite Crash when calling a method of a class that inherits PDOStatement</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDOStatement::fetchColumn() invalid column index</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite Test normal operation of PDO::getAvailableDrivers / pdo_drivers</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite Test that PDO::getAvailableDrivers / pdo_drivers does not accept any parameters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>SQLite PDO Common: Pass credentials in dsn instead of constructor params</td><td>reason: not supported</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite Trying instantiate a PDORow object manually</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PECL Bug #5217 (serialize/unserialize safety)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PECL Bug #5772 (PDO::FETCH_FUNC breaks on mixed case func name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>SQLite PDO Common: PECL Bug #5809 (PDOStatement::execute(array()) changes param)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td colspan='3'>---&gt; C:\agent\_work\1\b\php-test-pack-7.4-r886a34b/ext/pdo/tests (SQLite [C:\agent\_work\1\b\php-test-pack-7.4-r886a34b\ext\pdo_sqlite\tests\common.phpt]) done</td></tr>
<tr><td>PASS</td><td>Testing PDOStatement::debugDumpParams() with bound params</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing several callbacks using PDO::FETCH_FUNC</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO_sqlite: Testing sqliteCreateAggregate()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO_sqlite: Testing invalid callback for sqliteCreateAggregate()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO_sqlite: Testing sqliteCreateCollation()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO_sqlite: Testing sqliteCreateFunction()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO_sqlite: Testing sqliteCreateFunction() produces warning when
un-callable function passed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO_sqlite: Testing sqliteCreateFunction() with flags</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO_sqlite: Testing PDO_SQLITE_ATTR_EXTENDED_RESULT_CODES</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO_sqlite: Testing getAttribute()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO_sqlite: Testing lastInsertId()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO_sqlite: Testing open flags</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO_sqlite: Testing PDOStatement::getAttribute()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>__toString() exception during PDO Sqlite parameter binding</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PDO_sqlite: Testing transaction</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::apiVersion</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::mapPhar truncated manifest/improper params</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::canCompress</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::canCompress, specific</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::mapPhar no __HALT_COMPILER();</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::mapPhar truncated manifest (none)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::mapPhar truncated manifest (manifest length truncated)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::mapPhar manifest too big</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::mapPhar truncated manifest (not enough for manifest length)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::mapPhar too many manifest entries</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::mapPhar buffer overrun</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::mapPhar filesize too small in manifest</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::mapPhar valid file</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::mapPhar filesize mismatch</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::mapPhar filesize mismatch</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::mapPhar valid file (gzipped)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar::mapPhar valid file (bzip2)</td><td>reason: bz2 not present</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::mapPhar invalid file (gzipped file length is too short)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::mapPhar invalid file (gzipped file length is too short)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: opendir test - no dir specified at all</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: opendir test, root directory</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: opendir test, subdirectory</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: opendir test, recurse into</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: opendir test, recurse into</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: url stat</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: stream stat</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: stream stat</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: phar:// file_get_contents</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar: phar:// include with Opcache</td><td>reason: Zend OPcache extension not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: phar:// include</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: phar:// include (repeated names)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: phar:// require from within</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: phar:// opendir</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::loadPhar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::loadPhar overloading alias names</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::loadPhar ignoring alias</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: include and parser error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: require hash</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::chmod</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::chmod</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: addFile/addFromString</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: alias edge cases</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: bad parameters to various methods</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: SLOW TEST bug #13727: "Number of files in the Phar" limited to 2042</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: bug #13786: "PHP crashes on phar recreate after unlink"</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromIterator() iterator, too many files for open file handles (Bug #45218)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: bug #46032: PharData::__construct wrong memory read</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: Bug #46060: addEmptyDir() breaks</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: PHP bug #46178: "memory leak in ext/phar"</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: PHP bug #47085: "rename() returns true even if the file in PHAR does not exist"</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: PHP bug #48377 "error message unclear on converting phar with existing file" test #2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: PHP bug #48377 "error message unclear on converting phar with existing file"</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test for bug 52013 about Phar::decompressFiles().</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>bug#53872 (internal corruption of phar)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54289 Phar::extractTo() does not accept specific directories to be extracted</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #54395 (Phar::mount() crashes when calling with wrong parameters)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: verify stub of specific length does not break __HALT_COMPILER(); scanning in php</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60261 (phar dos null pointer)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64931 (phar_add_file is too restrictive on filename)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar - test specific manifest length</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65414 Injection (A1) in .phar files magic .phar directory</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66960 phar long filename crash</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69324: Buffer Over-read in unserialize when parsing Phar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: bug #69441: Buffer Overflow when parsing tar/zip/phar in phar_set_inode</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: bug #69453: Memory Corruption in phar_parse_tarfile when entry filename starts with null</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar - bug #69720 - Null pointer dereference in phar_get_fp_offset()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>Phar: bug #69958: Segfault in Phar::convertToData on invalid file</td><td> XFAIL REASON: Still has memory leaks, see https://bugs.php.net/bug.php?id=70005</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70019 Files extracted from archive may be placed outside of destination directory</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar - bug #70433 - Uninitialized pointer in phar_make_dirstream when zip entry filename is "/"</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71331 (Uninitialized pointer in phar_make_dirstream())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: bug #71354: Heap corruption in tar/zip/phar parser.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: bug #71391: NULL Pointer Dereference in phar_tar_setupmetadata()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: bug #71488: Stack overflow when decompressing tar archives</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: bug #71498: Out-of-Bound Read in phar_parse_zipfile()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar - Bug #71625 - Crash in php7.dll</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: PHP bug #72321: invalid free in phar_extract_file()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: #72928 (Out of bound when verify signature of zip phar in phar_parse_zipfile)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: #73035 (Out of bound when verify signature of tar phar in phar_parse_tarfile)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: PHP bug #73764: Crash while loading hostile phar archive</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: PHP bug #73768: Memory corruption when loading hostile phar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PHP bug #74196: PharData->decompress() does not correctly support dot names</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: bug #74383: Wrong reflection on Phar::running</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: bug #74386: Phar::__construct(): wrong number of parameters by reflection</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: PHP bug #74991: include_path has a 4096 char (minus "__DIR__:") limit, in some PHAR cases</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76584 (PharFileInfo::decompress not working)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar: Bug #77022: PharData always creates new files with mode 0666</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PHP bug #77143: Heap Buffer Overflow (READ: 4) in phar_parse_pharfile</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PHP bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77396 Relative filename exceeding maximum path length causes null pointer dereference.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #77586 Symbolic link names in tar-formatted phar must be less than 100 bytes.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar: Bug #79082: Files added to tar with Phar::buildFromIterator have all-access permissions</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79503 (Memory leak on duplicate metadata)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 1 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 10 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 11 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 12 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 13 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 14 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 15 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 16 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 17 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 18 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 19 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 2 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 20 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 21 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 22 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 23 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 24 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 25 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 3 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 4 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 4a [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 5 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 6 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 7 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 8 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy-on-write test 9 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller other</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller rewrite access denied [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type extension is not a string [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type unknown int [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type not string/int [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type override, other [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type override, Phar::PHPS [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type override, Phar::PHP [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type unknown [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller $_SERVER munging failure [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller $_SERVER munging failure 2 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller PHP test [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller $_SERVER munging failure 3 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller $_SERVER munging success [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller include from cwd test 1 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with generic action router test [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with custom 404 php script [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with extra path_info [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with unknown extension mime type [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with no extension [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with huge file [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with fatal error in php file [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller phps [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with weird SCRIPT_NAME [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with invalid callback for rewrites [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with valid callback that is not good [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with valid callback that does not return any value [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with cwd [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller index.php relocate (no /) [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller index.php relocate [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller 404 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller alternate index file [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller no index file 404 [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller rewrite array [cache_list]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: phar.cache_list basic read test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: create and modify phar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: create a completely new phar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: create a completely new phar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: create a completely new phar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: create with illegal path</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: delete test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: delete a file within a .phar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: delete a file within a .phar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: delete a file within a .phar (confirm disk file is changed)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: mkdir/rmdir test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar web-based phar with fatal error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test edge cases of file_get_contents() function interception</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test file_get_contents() interception</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test fopen() interception</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: fopen/stat/fseek/unlink/rename edge cases</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test edge cases of fopen() function interception #2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with mounted external file</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller other</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller rewrite access denied</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type extension is not a string</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type unknown int</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type not string/int</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type override, other</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type override, Phar::PHPS</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type override, Phar::PHP</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type unknown</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller $_SERVER munging failure</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller $_SERVER munging failure 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller PHP test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller $_SERVER munging failure 3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller $_SERVER munging success</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller include from cwd test 1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with generic action router test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with custom 404 php script</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with extra path_info</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with unknown extension mime type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with no extension</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with huge file</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with fatal error in php file</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller phps</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with weird SCRIPT_NAME</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with invalid callback for rewrites</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with valid callback that is not good</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with valid callback that does not return any value</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller with cwd</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller index.php relocate (no /)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller index.php relocate</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller 404</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller alternate index file</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller no index file 404</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller rewrite array</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: include_path with phar:// wrapper</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: include_path advanced code coverage test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test ini_set with readonly and require_hash enabled</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test ini_set with readonly and require_hash disabled</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: set alias with invalid alias containing / \ : or ;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: invalid set alias or stub via array access</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar with meta-data (read)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar with meta-data (write)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar with meta-data (write)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>phar: mkdir/rmdir edge cases</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: mounted manifest directory test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar: phar run without ext/phar with default stub</td><td>reason: Phar extension must be disabled for this test</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar: default web stub, no phar extension</td><td>reason: Phar extension must be disabled for this test</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: fopen a .phar for writing (existing file)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: fopen a .phar for writing (existing file)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: fopen a .phar for writing (existing file)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: fopen a .phar for writing (new file)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: fopen a .phar for writing (new file)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: fopen a .phar for writing (new file)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test opendir() interception</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test edge cases of opendir() function interception</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::startBuffering()/setStub()/stopBuffering()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromDirectory() - readonly</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromDirectory() - non-directory passed as first parameter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar::buildFromDirectory() - non-directory passed as first parameter</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromDirectory(), directory exists</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromDirectory() with matching regex</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromDirectory() with non-matching regex</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromIterator() readonly</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromIterator() RegexIterator(RecursiveIteratorIterator), SplFileInfo as current</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromIterator() iterator, 1 file passed in</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromIterator() iterator, iterator returns non-string</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromIterator() iterator, key is int</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromIterator() iterator, file can't be opened</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromIterator() RegexIterator(DirectoryIterator), SplFileInfo as current</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromIterator() iterator, 1 file resource passed in</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar: bzipped phar</td><td>reason: bz2 not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::setStub()/stopBuffering()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar object passed URL</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar::conversion to other formats</td><td>reason: no bz2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::convertToZip|Tar|Phar() repeated (phar_based archives)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>PharData::convertToZip|Tar|Phar() repeated (phardata_based archives)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::convertToTar()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::convertToTar() gzip compressed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar::convertToTar() bz2 compressed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::convertToZip()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: attempt to create a Phar with relative path</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: Phar::createDefaultStub() with and without arg</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar context</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::decompress()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar object: iterate test with sub-directories and RecursiveIteratorIterator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: create new Phar with broken.dirname in path</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: Phar::extractTo()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: Phar::extractTo() - .phar safety</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: Phar::extractTo() - check that phar exists</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar::getSupportedSignatures()</td><td>reason: openssl support enabled</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::getSupportedSignatures()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar::getSupportedCompression() (bz2 and zlib)</td><td>reason: bz2 not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar::getSupportedCompression() (bz2 only)</td><td>reason: bz2 not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::getSupportedCompression() (zlib only)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar::getSupportedCompression() (none)</td><td>reason: zlib is available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test edge cases of intercepted functions when the underlying phar archive has been unlinkArchive()d</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar: test edge cases of intercepted functions when the underlying phar archive has been unlinkArchive()d</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: gzipped phar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: Phar::isValidPharFilename()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: include/fopen magic</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar with metadata (read)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar with metadata (write)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: Phar::mount</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: disallow stub and alias setting via offset*() methods</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: ignore filenames starting with / on offsetSet</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar object: basics</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar object: iterator & entries</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar object: entry & openFile()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar and DirectoryIterator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar and RecursiveDirectoryIterator</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar object: array access</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar object: access through SplFileObject</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar object: iterating via SplFileObject</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar object: iterating via SplFileObject and reading csv</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar object: ArrayAccess and isset</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar object: add file</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar object: add file</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar object: unset file</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar object: unset file (confirm disk file is changed)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar object: unset file</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar::compressFiles(Phar::BZ2)</td><td>reason: bz2 not present</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::compressFiles(Phar::GZ)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: PharFileInfo::compress(Phar::GZ)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar: PharFileInfo::compress(Phar::BZ2)</td><td>reason: bz2 not present</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: context/compress=GZ</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar: context/compress=BZip2</td><td>reason: bz2 not present</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar object: getContent()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar object: getContent() (verify it works with compression)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::getModified()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::isWriteable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::getSignature() no signature</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::decompressFiles()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: Phar::running()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::setAlias()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::setAlias() error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: Phar::setDefaultStub() with and without arg</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::setSupportedSignatures() with hash</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::setStub()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::setStub()/getStub()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::setStub()/getStub()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::setStub()/getStub() from file</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::unlinkArchive()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: PharFileInfo::chmod extra code coverage</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar: PharFileInfo compression-related methods</td><td>reason: no bz2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: PharFileInfo::__construct</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: PharFileInfo::__destruct</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: PharFileInfo::getCRC32</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: PharFileInfo::setMetadata/delMetadata extra code coverage</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar: phpinfo display 1</td><td>reason: bz2 not loaded</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar: phpinfo display 2</td><td>reason: bz2 not loaded</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar: phpinfo display 3</td><td>reason: zlib loaded</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar: phpinfo display 4</td><td>reason: bz2 not loaded</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test readfile() interception</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test edge cases of readfile() function interception</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test that refcounting avoids problems with deleting a file</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: rename test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: rename_dir test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: rename_dir and mount test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: rmdir test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test to ensure phar.readonly cannot be circumvented</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test stat function interceptions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test stat function interceptions and is_file/is_link edge cases (PHP 5.3+)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::chmod tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::chmod tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: alias edge cases</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar: test that creation of tar-based phar generates valid tar with all bells/whistles</td><td>reason: bz2 not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar: invalid aliases</td><td>reason: no bz2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: tar with bad checksum</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: tar with huge filenames</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: tar with huge filenames, buffer overflow</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #49910: no support for ././@LongLink for long filenames in phar tar support</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64343 (phar cannot open tars with pax headers)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67761 (Phar::mapPhar fails for Phars inside a path containing ".tar")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #70417 (PharData::compress() doesn't close temp file)</td><td>reason: lsof(8) not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71317: regression in opening tar based phar files</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71504: Parsing of tar file with duplicate filenames causes memory leak</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: create and modify tar-based phar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: create a completely new tar-based phar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: delete test, tar-based phar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: delete a file within a tar-based .phar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: delete a file within a tar-based .phar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: delete a file within a tar-based .phar (confirm disk file is changed)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: mkdir/rmdir test tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: phar-based phar named with ".tar" fails</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller other tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller rewrite array invalid tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type extension is not a string tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type unknown int tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type not string/int tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type override, other tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type override, Phar::PHPS tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type override, Phar::PHP tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type unknown tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller $_SERVER munging failure tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller $_SERVER munging failure 2 tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller PHP test tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller $_SERVER munging failure 3 tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller $_SERVER munging success tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller phps tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller index.php relocate (no /) tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller index.php relocate tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller 404 tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller alternate index file tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller no index file 404 tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller rewrite array tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: tar with hard link and symbolic link</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: tar with hard link to nowhere</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: tar with link to absolute path</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: tar with link to root directory file from root directory file</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: tar with relative link to subdirectory file from subdirectory file</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test nested linked files</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: fopen a .phar for writing (existing file) tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: fopen a .phar for writing (existing file) tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: fopen a .phar for writing (existing file) tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: fopen a .phar for writing (new file) tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: fopen a .phar for writing (new file) tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: fopen a .phar for writing (new file) tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::startBuffering()/setStub()/stopBuffering() tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromIterator() iterator, 1 file passed in tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromIterator() iterator, iterator returns non-string tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromIterator() iterator, key is int tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromIterator() iterator, file can't be opened tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromIterator() iterator, SplFileInfo as current tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromIterator() iterator, 1 file resource passed in tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::setStub()/stopBuffering() tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::convertToPhar() from tar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::convertToPhar() gzipped</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar::convertToPhar() bzipped</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::convertToPhar() with global metadata</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy() tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: include/fopen magic tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::setAlias() tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::setAlias() error tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: Phar::setDefaultStub() with and without arg, tar-based phar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::setSupportedSignatures() with hash, tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::setStub() (tar-based)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::setStub()/getStub() tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test that refcounting avoids problems with deleting a file tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: rename test tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: rename_dir test tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: tar-based phar, require_hash=1, no signature</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: rmdir test tar-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: tar-based phar corrupted</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: tar-based phar corrupted 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: tar-based phar, valid 1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: tar-based phar, tar phar with stub, mapPhar()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar: tar-based phar, bzipped tar</td><td>reason: bz2 not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: tar-based phar, gzipped tar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar: tar-based phar, make new bzipped tar</td><td>reason: bz2 not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: tar-based phar, make new gzipped tar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: tar archive, require_hash=1, should not error out</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: tar-based phar, third-party tar with no stub, Phar->getStub()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: tar archive, require_hash=1, OpenSSL hash</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: truncated tar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test for the odd case where we intend to remove an archive from memory</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: verify signature parsing works</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: ensure unset() works properly on a non-flushed phar archive</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: Phar::webPhar, open compiled file fails</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: phar run with ext/phar with default stub</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: default web stub, with phar extension</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test broken app</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::chmod zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::chmod zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: alias edge cases</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar: test that creation of zip-based phar generates valid zip with all bells/whistles</td><td>reason: bz2 not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar: invalid aliases</td><td>reason: no bz2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: Bug #48791: open office documents always reported as corrupted by phar extension</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar: process bzip2-compressed zip entry</td><td>reason: bz2 not available</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: corrupted zip (count mismatch)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: corrupted zip (no end of zip record)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: corrupted zip (truncated file comment)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: corrupted zip (central directory offset incorrect)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: encrypted zip</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: zip with file created from stdin</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: corrupted zip (truncated filename record)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: unsupported compression methods</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: corrupted zip (extra field way too long)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: unable to process zip (zip spanning multiple archives)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: create and modify zip-based phar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: create a completely new zip-based phar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: delete test, zip-based phar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: delete a file within a zip-based .phar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: delete a file within a zip-based .phar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: delete a file within a zip-based .phar (confirm disk file is changed)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: mkdir/rmdir test zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: phar-based phar named with ".zip" fails</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller other zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller rewrite array invalid zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type extension is not a string zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type unknown int zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type not string/int zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type override, other zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type override, Phar::PHPS zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type override, Phar::PHP zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller mime type unknown zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller $_SERVER munging failure zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller $_SERVER munging failure 2 zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller PHP test zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller $_SERVER munging failure 3 zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller $_SERVER munging success zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller phps zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller index.php relocate (no /) zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller index.php relocate zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller 404 zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller alternate index file zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller no index file 404 zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar front controller rewrite array zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: getAlias() with an existing phar.zip</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: large zip file (zip edge cases)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar with meta-data (write) zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: a non-executable zip with no stub named .phar.zip</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test a zip archive created by openoffice</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: fopen a .phar for writing (existing file) zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: fopen a .phar for writing (existing file) zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: fopen a .phar for writing (existing file) zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: fopen a .phar for writing (new file) zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: fopen a .phar for writing (new file) zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: fopen a .phar for writing (new file) zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::startBuffering()/setStub()/stopBuffering() zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromIterator() iterator, 1 file passed in zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromIterator() iterator, iterator returns non-string zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromIterator() iterator, key is int zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromIterator() iterator, file can't be opened zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromIterator() iterator, SplFileInfo as current zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::buildFromIterator() iterator, 1 file resource passed in</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::setStub()/stopBuffering() zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::convertToPhar() from zip</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: copy() zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: include/fopen magic zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar::compressFiles(Phar::BZ2) zip format</td><td>reason: bz2 not present</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::compressFiles(Phar::GZ) zip format</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Phar::setAlias() zip-based</td><td>reason: no bz2</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::setAlias() error zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: Phar::setDefaultStub() with and without arg, zip-based phar</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::setSupportedSignatures() with hash, zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::setStub() (zip-based)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar::setStub()/getStub() zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test that refcounting avoids problems with deleting a file zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: rename test zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: rename_dir test zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: rmdir test zip-based</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: test a zip archive created by unix "zip" command</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Phar: process zlib-compressed zip alias</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection inheritance</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection properties are read only</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod::invoke() with base class method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod::invoke() with non object or null value</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod::getDocComment() uses wrong comment block</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::[gs]etStaticPropertyValue</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::newInstance[Args]</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod::__construct() tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionFunction basic tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod::__toString() tests (overriden method)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionExtension::getClasses()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getDefaultProperties()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionExtension::getFunctions()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionExtension::getConstants()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionExtension::getINIEntries()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionExtension::getDependencies()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::__toString() (constants)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection::getModifierNames</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionFunction::getExtensionName</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::hasProperty</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::hasConstant</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getConstant</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getDefaultProperties (filtering parent privates)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::__toString (filtering privates/protected dynamic properties)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionFunction basic tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionExtension::info()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionGenerator::getTrace()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionGenerator::__construct()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test usage of ReflectionClassConstant methods __toString(), export(), getName(), getValue(), isPublic(), isPrivate(), isProtected(), getModifiers(), getDeclaringClass() and getDocComment().</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test variations of getting constant values</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection class can not be cloned</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getFileName(), ReflectionClass::getStartLine(), ReflectionClass::getEndLine()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::__constructor()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::__constructor() - bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::__toString() - array constants</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::__toString() - various parameters</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::__toString() - ensure inherited private props are hidden.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getConstants()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getConstant() - bad params</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getConstants()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getConstructor()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getDefaultProperties(), ReflectionClass::getStaticProperties()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getDocComment()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getExtensionName() method - basic test for getExtensionName() method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getExtensionName() method - variation test for getExtensionName()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getExtension() method - basic test for getExtension() method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getExtension() method - variation test for getExtension()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getInterfaceNames()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getInterfaces()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getInterfaces() - interface ordering.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getInterfaces() - odd ampersand behaviour.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getMethod()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getMethod() - error cases</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getMethods()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getMethods()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getModifierNames() basic tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getModifiers()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getName()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getName - forbid static invocation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getNamespaceName()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getParentClass()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getParentClass()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getProperties()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getProperties()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getProperty()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getProperty() - error cases</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getProperty()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getProperty()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ReflectionClass::getReflectionConstant method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getStaticPropertyValue()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getStaticPropertyValue() - bad params</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::hasConstant()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::hasConstant() - error cases</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::hasConstant()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::hasMethod()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::hasMethod() - error cases</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::hasMethod()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::hasProperty()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::hasProperty() - error cases</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::hasProperty()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::implementsInterface()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::isAbstract() method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::isAnonymous() method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>public bool ReflectionParameter::isArray ( void );</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing ReflectionClass::isCloneable()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Testing ReflectionClass::isCloneable() with non instantiable objects</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::isFinal() method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::isInstance()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::IsInstantiable()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::IsInstantiable()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::isInterface() method</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::isInternal()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::isIterateable()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::isIterateable() basic</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::isIterateable() variations</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::isSubclassOf() - bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::isSubclassOf()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::isSubclassOf() - non-existent class error</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::isSubclassOf() - fixed crash for unbound anonymous class</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::isUserDefined()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Modifiers</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::newInstanceArgs</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::newInstanceArgs() - wrong arg type</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::newInstanceWithoutConstructor()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::newInstance()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::setStaticPropertyValue()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::setStaticPropertyValue() - bad params</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::setStaticPropertyValue() - type constraints must be enforced</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::__toString()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::__toString() - verify 'inherits', 'overwrites' and 'prototype' parts of method representation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::__toString() - verify 'inherits', 'overwrites' and 'prototype' parts of method representation with private methods</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionExtension::getFunctions() ##6218 zend_register_functions breaks reflection</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionExtension::__construct()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionExtension::__construct()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionExtension::export()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionExtension::getClassNames() method on an extension which actually returns some information</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionExtension::getClassNames() method on an extension with no classes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionExtension::getClasses();</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionExtension::getDependencies() method on an extension with a required and conflicting dependency</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionExtension::getDependencies() method on an extension with one optional dependency</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionExtension::getName()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionExtension::getVersion()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionExtension::info()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionExtension::isPersistent()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionExtension::isTemporary()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionFunction methods</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionFunction constructor errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection::getClosureScopeClass()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection::getClosureThis()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ReflectionFunction::getClosure() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionFunction::getDocComment()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionFunction::getExtension()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionFunction::getExtensionName()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionFunction::getFileName() with function in an included file</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionFunction::getFileName()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionFunction::getNamespaceName()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection::isClosure</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionFunction::isDeprecated</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionFunction::isDisabled</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionFunction::isGenerator()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionFunction::isVariadic()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionGenerator basic test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionGenerator::getTrace() over multiple Generators</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionGenerator while being currently executed</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod methods - wrong num args</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod class - various methods</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod class __toString() and export() methods</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod class getName(), isInternal() and isUserDefined() methods</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod class getFileName(), getStartLine() and getEndLine() methods</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod::isConstructor()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod constructor errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod constructor errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod and RECV_INIT (bug #70957 and #70958)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection::getClosureThis()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ReflectionMethod::getClosure() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ReflectionMethod::getClosure() function : error functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod::getDeclaringClass()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod::getDocComment()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod::getDocComment()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod::getModifiers()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>public ReflectionMethod ReflectionMethod::getPrototype ( void );</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod::getStaticVariables()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod::invokeArgs()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod:invokeArgs() errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod::invokeArgs() further errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod::invokeArgs() further errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod::invoke()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod::invoke() errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod::invoke() further errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod::invoke() on an abstract method should fail even after calling setAccessible(true)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod::returnsReference()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ReflectionMethod::setAccessible().</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionNamedType::getName() and ReflectionNamedType::__toString()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::getFileName(), ReflectionObject::getStartLine(), ReflectionObject::getEndLine() - basic function</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::__toString() : very basic test with no dynamic properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::__toString() : very basic test with dynamic properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::__construct - basic function test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::__toString() : very basic test with no dynamic properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::__toString() : very basic test with dynamic properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::__toString() - ensure dynamic property with same name as inherited private property is shown.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::getConstant() basic function test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::getConstants() - basic function test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::getConstructor() - basic function test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::getName() - basic function test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::getName - forbid static invocation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::isInstance() - basic function test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::IsInstantiable() - basic function test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::IsInstantiable() - variation - constructors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::isInternal() - basic function test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::isSubclassOf() - bad arguments</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::isSubclassOf() - basic function test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::isSubclassOf() - invalid params</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject::isUserDefined() - basic function test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionParameter class - getNames() method.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionParameter class - isPassedByReferenceMethod()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionParameter class - isOptional, isDefaultValueAvailable and getDefaultValue methods.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionParameter::isDefaultValueConstant() && getDefaultValueConstantName()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionParameter::isDefaultValueConstant() && getDefaultValueConstantName() for namespace</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionParameter::getDefaultValueConstant() should raise exception on non optional parameter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionParameter class - canBePassedByValue() method.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionParameter::__toString()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionParameter::export() with incorrect first parameter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionParameter::export() with incorrect second parameter</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionParameter::getDeclaringFunction()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionParameter::getPosition()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionParameter::__construct(): Invalid method as constructor</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionParameter::isDefault()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionParameter::isVariadic()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionParameter::__toString()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test usage of ReflectionProperty methods __toString(), export(), getName(), isPublic(), isPrivate(), isProtected(), isStatic(), getValue() and setValue().</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test usage of ReflectionProperty methods isDefault(), getModifiers(), getDeclaringClass() and getDocComment().</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ReflectionProperty class constructor errors.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionProperty::__construct(): ensure inherited private props can't be accessed through ReflectionProperty.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ReflectionProperty class errors.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ReflectionProperty::__toString() usage.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ReflectionProperty::export() errors.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ReflectionProperty::getDeclaringClass() with inherited properties.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ReflectionProperty::getDocComment() usage.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionProperty::getModifiers()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ReflectionProperty::getModifiers() usage.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ReflectionProperty::getValue() errors.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ReflectionProperty::isDefault() usage.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ReflectionProperty::isInitialized()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ReflectionProperty::setAccessible().</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ReflectionProperty::setValue() error cases.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionProperty::getValue() on typed static property</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Basic ReflectionReference functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78263: Handling of self-referential array special case</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Various error conditions for ReflectionReference</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionParameter::get/hasType and ReflectionType tests</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionType leak</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionType possible types</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test ReflectionZendExtension class</td><td>reason: Zend OPcache extension not loaded</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Test ReflectionZendExtension class erros</td><td>reason: Zend OPcache extension not loaded</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #26640 (__autoload() not invoked by Reflection classes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #26695 (Reflection API does not recognize mixed-case class hints)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #29268 (__autoload() not called with reflectionProperty->getClass())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #29523 (ReflectionParameter::isOptional() is incorrect)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #29828 (Interfaces no longer work)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #29986 (Class constants won't work with predefined constants when using ReflectionClass)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #30146 (ReflectionProperty->getValue() requires instance for static property)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #30148 (ReflectionMethod->isConstructor() fails for inherited classes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #30209 (ReflectionClass::getMethod() lowercases attribute)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #30856 (ReflectionClass::getStaticProperties segfaults)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #30961 (Wrong linenumber in ReflectionClass getStartLine())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #31651 (ReflectionClass::getDefaultProperties segfaults with arrays.)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #32981 (ReflectionMethod::getStaticVariables() causes apache2.0.54 seg fault)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #33312 (ReflectionParameter methods do not work correctly)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #33389 (double free() when exporting a ReflectionClass)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #36308 (ReflectionProperty::getDocComment() does not reflect extended class commentary)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #36337 (ReflectionProperty fails to return correct visibility)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #36434 (Properties from parent class fail to indetify their true origin)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #37816 (ReflectionProperty does not throw exception when accessing protected attribute)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #37964 (Reflection shows private methods of parent class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #38132 (ReflectionClass::getStaticProperties() retains \0 in key names)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #38194 (ReflectionClass::isSubclassOf() returns TRUE for the class itself)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38217 (ReflectionClass::newInstanceArgs() tries to allocate too much memory)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38465 (ReflectionParameter fails on access to self::)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38653 (memory leak in ReflectionClass::getConstant())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38942 (Double old-style-ctor inheritance)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39001 (ReflectionProperty returns incorrect declaring class for protected properties)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39067 (getDeclaringClass() and private properties)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #39884 (ReflectionParameter::getClass() throws exception for type hint self)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #40431 (dynamic properties may cause crash in ReflectionProperty methods)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #40794 (ReflectionObject::getValues() may crash when used with dynamic properties)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection Bug #41061 ("visibility error" in ReflectionFunction::__toString())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41884 (ReflectionClass::getDefaultProperties() does not handle static attributes)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #42976 (Crash when constructor for newInstance() or newInstanceArgs() fails)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #43926 (isInstance() isn't equivalent to instanceof operator)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45139 (ReflectionProperty returns incorrect declaring class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #45571 (ReflectionClass::__toString() shows superclasses' private static methods.)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Fixed bug #45765 (ReflectionObject with default parameters of self::xxx cause an error)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46064 (Exception when creating ReflectionProperty object on dynamicly created property)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46064.2 (Exception when creating ReflectionProperty object on dynamicly created property)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46103: ReflectionObject memory leak</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #46205 (Closure - Memory leaks when ReflectionException is thrown)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #47254</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48286 (ReflectionProperty::getDeclaringClass() does not work with redeclared properties)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #48757 (ReflectionFunction::invoke() parameter issues)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #49074 (private class static fields can be modified by using reflection)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #49092 (ReflectionFunction fails to work with functions in fully qualified namespaces)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #49719 (ReflectionClass::hasProperty returns true for a private property in base class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #51905 (ReflectionParameter fails if default value is an array with an access to self::)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #51911 (ReflectionParameter::getDefaultValue() memory leaks with constant array)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52057 (ReflectionClass fails on Closure class)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #52854: ReflectionClass::newInstanceArgs does not work for classes without constructors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53366 (Reflection doesnt get dynamic property value from getProperty())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53915 - ReflectionClass::getConstant(s) emits fatal error on selfreferencing constants</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60357 (__toString() method triggers E_NOTICE "Array to string conversion")</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60367 (Reflection and Late Static Binding)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionObject:getProperties() issues invalid reads when it get_properties returns a hash table with (inaccessible) dynamic numeric properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62384 (Attempting to invoke a Closure more than once causes segfaul)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #62715 (ReflectionParameter::isDefaultValueAvailable() wrong result)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63399 (ReflectionClass::getTraitAliases() incorrectly resolves traitnames)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63614 (Fatal error on Reflection)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64007 (There is an ability to create instance of Generator by hand)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #64239 (ReflectionClass::getMethods() changed behavior)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionMethod::getDocComment() uses left over doc comment from previous scanner run</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66430: ReflectionFunction::invoke does not invoke closure with object scope</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67068 (ReflectionFunction::getClosure returns something that doesn't report as a closure)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69802 (Reflection on Closure::__invoke borks type hint class name)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70674 (ReflectionFunction::getClosure() leaks memory when used for internal functions)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70960 (ReflectionFunction for array_unique returns wrong number of parameters)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70982 (setStaticPropertyValue behaviors inconsistently with 5.6)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71018 (ReflectionProperty::setValue() behavior changed)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71767 (ReflectionMethod::getDocComment returns the wrong comment)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72174: ReflectionProperty#getValue() causes __isset call</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72661 (ReflectionType::__toString crashes with iterable)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74454 (Wrong exception being thrown when using ReflectionMethod)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74673 (Segfault when cast Reflection object to string with undefined constant)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74949 (null pointer dereference in _function_string)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75186: Inconsistent reflection of Closure:::__invoke()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #75231: ReflectionProperty#getValue() incorrectly works with inherited classes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76536 (PHP crashes with core dump when throwing exception in error handler)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76737: Unserialized reflection objects are broken, they shouldn't be serializable</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #76936: Objects cannot access their private attributes while handling reflection errors</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77772: ReflectionClass::getMethods(null) doesn't work</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #77882: Different behavior: always calls destructor</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78697: ReflectionClass::implementsInterface - inaccurate error message with traits</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #78774: ReflectionNamedType on Typed Properties Crash</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Fixed bug #78895 (Reflection detects abstract non-static class as abstract static).</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79062: Property with heredoc default value returns false for getDocComment</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79115: ReflectionClass::isCloneable call reflected class __destruct</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection on closures</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection on invokable objects</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection on closures: Segfaults with getParameters() and getDeclaringFunction()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection on closures: Segfaults with getParameters() and getDeclaringFunction()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection on closures: Segfault with getClosure() on closure itself</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>ReflectionProperty::get/setValue() on internal static property</td><td>reason: zend_test extension required</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionParameter Check for parameter being optional</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionParameter::getClass(), getDeclaringClass(), getDeclaringFunction()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection and property_exists()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Tests some parts of ReflectionClass behavior for traits</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Request #38992 (invoke() and invokeArgs() static method calls should match)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection and inheriting static properties</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass and Traits</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass and Traits</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Reflection and Traits</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getTraits() and ReflectionClass::getTraitNames</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>ReflectionClass::getTraitAlias</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session object serialization</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session_unset() without a initialized session</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session object deserialization</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session_set_save_handler test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>custom save handler, multiple session_start()s, complex data structure test.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>correct instantiation of references between variables in sessions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>unset($_SESSION["name"]); test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>$session_array = explode(";", session_encode()); should not segfault</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session_decode(); should not segfault</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>registering $_SESSION should not segfault</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>redefining SID should not cause warnings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>a script should not be able to modify session.use_trans_sid</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>use_trans_sid should not affect SID</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>invalid session.save_path should not cause a segfault</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>setting $_SESSION before session_start() should not cause segfault</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>rewriter correctly handles attribute names which contain dashes</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>serializing references test case using globals</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>rewriter uses arg_separator.output for modifying URLs</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>rewriter handles form and fieldset tags correctly</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session object serialization</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session object deserialization</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session_set_save_handler test</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>custom save handler, multiple session_start()s, complex data structure test.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>correct instantiation of references between variables in sessions</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>unset($_SESSION["name"]); should work</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session_decode(); should not segfault</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>setting hash_function to sha512 and hash_bits_per_character > 4 should not crash</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #24592 (crash when multiple NULL values are being stored)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #26862 (ob_flush() before output_reset_rewrite_vars() results in data loss)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #31454 (session_set_save_handler crashes PHP when supplied non-existent object ref)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #32330 (session_destroy, "Failed to initialize storage module", custom session handler)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #31454 (Incorrect adding PHPSESSID to links, which contains \r\n)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #38377 (session_destroy() gives warning after session_regenerate_id())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #41600 (url rewriter tags doesn't work with namespaced tags)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>SKIP</td><td>Bug #42596 (session.save_path MODE option will not set "write" bit for group or world)</td><td>reason: not for Windows</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #50308 (session id not appended properly for empty anchor tags)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #51338 (URL-Rewriter should not get enabled if use_only_cookies is set to 1)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #53141 (autoload misbehaves if called from closing session)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #55688 (Crash when calling SessionHandler::gc())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60634 (Segmentation fault when trying to die() in SessionHandler::write())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60634 (Segmentation fault when trying to die() in SessionHandler::write()) - fatal error in write during exec</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60634 (Segmentation fault when trying to die() in SessionHandler::write()) - exception in write during exec</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60634 (Segmentation fault when trying to die() in SessionHandler::write()) - fatal error in write after exec</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60634 (Segmentation fault when trying to die() in SessionHandler::write()) - exception in write after exec</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60634 (Segmentation fault when trying to die() in SessionHandler::write()) - fatal error in close during exec</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #60860 (session.save_handler=user without defined function core dumps)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61470 (session_regenerate_id() does not create session file)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #61728 (PHP crash when calling ob_start in request_shutdown phase)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63379: Warning when using session_regenerate_id(TRUE) with a SessionHandler</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #63379: Warning when using session_regenerate_id(TRUE) with a SessionHandler</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #65475: Session ID is not initialized when session.usr_strict_mode=1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66481: Calls to session_name() segfault when session.name is null.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #66827: Session raises E_NOTICE when session name variable is array.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67694 Regression in session_regenerate_id()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #67972: SessionHandler Invalid memory read create_sid()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #68063 (Empty session IDs do still start sessions)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #69111 Crash in SessionHandler::read()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70013 (Reference to $_SESSION is lost after a call to session_regenerate_id())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70133 (Extended SessionHandler::read is ignoring $session_id when calling parent)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #70876 Segmentation fault when regenerating session id with strict mode</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>updateTimestamp never called when session data is empty</td><td> XFAIL REASON: Current session module is designed to write empty session always. In addition, current session module only supports SessionHandlerInterface only from PHP 7.0.</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71683 Null pointer dereference in zend_hash_str_find_bucket</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71972 (Cyclic references causing session_start(): Failed to decode session object)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #71974 Trans sid will always be send, even if cookies are available</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72562: Use After Free in unserialize() with Unexpected Session Deserialization</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72681: PHP Session Data Injection Vulnerability</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #72940 - SID always defined</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73100 (session_destroy null dereference in ps_files_path_create)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #73273: session_unset() empties values from all variables in which is $_session stored</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>XFAIL</td><td>Bug #73529 session_decode() silently fails on wrong input</td><td> XFAIL REASON: session_decode() does not return proper status.</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74514 5 session functions incorrectly warn when calling in read-only/getter mode.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74541 Wrong reflection on session_start()</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74833 Session module number is uninitialized when SID is reset</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74892 Url Rewriting (trans_sid) not working on urls that start with #</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74936 session_cache_expire() triggers a warning in read mode.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #74941 session_start() triggers a warning after headers have been sent but cookies are not used</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_set_save_handler() : session_gc() returns the number of deleted records.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79031: Session unserialization problem</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79091 (heap use-after-free in session_create_id())</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Null Pointer Dereference in PHP Session Upload Progress</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Bug #79413 (session_create_id() fails for active sessions)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session rfc1867</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session rfc1867</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session rfc1867 disabled</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session rfc1867 disabled 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session rfc1867</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session rfc1867 invalid settings</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session rfc1867 invalid settings 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session rfc1867 no name</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session rfc1867 sid cookie</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session rfc1867 sid get</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session rfc1867 sid get 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session rfc1867 sid cookie</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session rfc1867 sid only cookie</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session rfc1867 sid only cookie 2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>session rfc1867 sid post</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_abort() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test basic function : variation1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test basic function : variation2</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test basic function : variation3 use_trans_sid</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test basic function : variation4 use_trans_sid</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test basic function : variation5 use_trans_sid</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_cache_expire() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_cache_expire() function : error functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_cache_expire() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_cache_expire() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_cache_expire() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_cache_limiter() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_cache_limiter() function : error functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_cache_limiter() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_cache_limiter() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_cache_limiter() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_commit() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_commit() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_commit() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_commit() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_commit() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_commit() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_create_id() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_decode() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_decode() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_decode() function : error functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_decode() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_decode() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_decode() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_decode() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_destroy() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_destroy() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_destroy() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_encode() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_encode() function : error functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_encode() function : Numeric key raise error. bug65359</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_encode() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_encode() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_encode() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_encode() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_encode() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_encode() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_encode() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_encode() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_gc() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_get_cookie_params() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_get_cookie_params() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_id() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_id() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_id() function : error functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_id() function : error functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test ini_set() for session : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_module_name() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_module_name() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_module_name() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_module_name() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_module_name() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_name() function : error functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_name() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_name() function : variation</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_regenerate_id() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>PASS</td><td>Test session_regenerate_id() function : basic functionality</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment