PASS | Simple If condition test | | | |
PASS | Simple While Loop Test | | | |
PASS | Simple Switch Test | | | |
PASS | Simple If/Else Test | | | |
PASS | Simple If/ElseIf/Else Test | | | |
PASS | Nested If/ElseIf/Else Test | | | |
PASS | Function call with global and static variables | | | |
PASS | Testing recursive function | | | |
PASS | Testing function parameter passing | | | |
PASS | Testing function parameter passing with a return value | | | |
PASS | Testing nested functions | | | |
PASS | Testing stack after early function return | | | |
PASS | Testing eval function | | | |
PASS | Testing eval function inside user-defined function | | | |
PASS | Testing include | | | |
PASS | Testing user-defined function in included file | | | |
PASS | Testing user-defined function falling out of an If into another | | | |
PASS | eval() test | | | |
PASS | eval() test | | | |
PASS | Switch test 1 | | | |
PASS | Switch test 2 | | | |
PASS | Switch test 3 | | | |
PASS | Regression test | | | |
PASS | Looped regression test (may take a while) | | | |
PASS | Mean recursion test | | | |
PASS | Testing string scanner confirmance | | | |
PASS | Testing do-while loop | | | |
PASS | Testing calling user-level functions from C | | | |
FAIL | $this in constructor test | | | |
PASS | Bug #16227 (Internal hash position bug on assignment) | | | |
PASS | Class method registration | | | |
PASS | Alternative syntaxes test | | | |
PASS | Bug #12647 (Locale settings affecting float parsing) | | | |
FAIL | ZE2: set_exception_handler() | | | |
FAIL | Child public element should not override parent private element in parent methods | | | |
FAIL | 'Static' binding for private variables | | | |
FAIL | Convert warnings to exceptions | | | |
FAIL | Catch Interfaces | | | |
FAIL | foreach into array | | | |
FAIL | Dynamic access of static members | | | |
FAIL | Dynamic access of constants | | | |
FAIL | Dynamic call for static methods | | | |
FAIL | Dynamic call for static methods dynamically named | | | |
PASS | Timeout again inside register_shutdown_function | | | |
PASS | Square bracket array shortcut test | | | |
PASS | Square bracket associative array shortcut test | | | |
PASS | Testing array shortcut and bracket operator | | | |
PASS | Testing nested array shortcut | | | |
PASS | Bison weirdness | | | |
FAIL | Bug #17115 (lambda functions produce segfault with static vars) | | | |
PASS | Bug #18872 (class constant used as default parameter) | | | |
PASS | Bug #19566 (get_declared_classes() segfaults) | | | |
FAIL | Bug #19943 (memleaks) | | | |
FAIL | Bug #20175 (Static vars can't store ref to new instance) | | | |
FAIL | Bug #21094 (set_error_handler not accepting methods) | | | |
FAIL | Bug #21600 (assign by reference function call changes variable contents) | | | |
FAIL | Bug #21669 ("$obj = new $this->var;" doesn't work) | | | |
FAIL | Bug #21820 ("$arr['foo']" generates bogus E_NOTICE, should be E_PARSE) | | | |
FAIL | Bug #21849 (self::constant doesn't work as method's default parameter) | | | |
FAIL | Bug #21961 (get_parent_class() segfault) | | | |
FAIL | Bug #22231 (segfault when returning a global variable by reference) | | | |
FAIL | Bug #22510 (segfault among complex references) | | | |
FAIL | Bug #22592 (cascading assignments to strings with curly braces broken) | | | |
FAIL | Bug #22690 (ob_start() is broken with create_function() callbacks) | | | |
FAIL | Bug #23279 (exception handler stops after first function call) | | | |
FAIL | Bug #23384 (use of class constants in statics) | | | |
FAIL | Bug #23489 (ob_start() is broken with method callbacks) | | | |
PASS | Bug #23524 (Improper handling of constants in array indices) | | | |
FAIL | Bug #23584 (error line numbers off by one when using #!php) | | | |
FAIL | Bug #23624 (foreach leaves current array key as null) | | | |
FAIL | Bug #23922 (scope doesn't properly propagate into internal functions) | | | |
PASS | Bug #24054 (Assignment operator *= broken) | | | |
FAIL | Bug #24396 (global $$variable broken) | | | |
FAIL | Bug #24403 (scope doesn't properly propagate into internal functions) | | | |
FAIL | Bug #24436 (isset() and empty() produce errors with non-existent variables in objects) | | | |
FAIL | Bug #24499 (bogus handling of a public property as a private one) | | | |
FAIL | Bug #24573 (debug_backtrace() crashes if $this is set to null) | | | |
FAIL | Bug #24640 (var_export and var_dump can't output large float) | | | |
PASS | Bug #24652 (broken array_flip()) | | | |
FAIL | Bug #24658 (combo of typehint / reference causes crash) | | | |
PASS | Bug #24783 ($key not binary safe in "foreach($arr as $key => $val)") | | | |
FAIL | Bug #24908 (super-globals can not be used in __destruct()) | | | |
FAIL | Bug #24926 (lambda function (create_function()) cannot be stored in a class property) | | | |
PASS | Bug #24951 (ob_flush() destroys output handler) | | | |
SKIP | Bug #25145 (SEGV on recpt of form input with name like "123[]") | reason: CGI not available | | |
FAIL | Bug #25547 (error_handler and array index with function call) | | | |
PASS | Bug #25652 (Calling Global functions dynamically fails from Class scope) | | | |
FAIL | Bug #25922 (SEGV in error_handler when context is destroyed) | | | |
FAIL | Bug #26182 (Object properties created redundantly) | | | |
PASS | Bug #26696 (string index in a switch() crashes with multiple matches) | | | |
FAIL | Bug #26866 (segfault when exception raised in __get) | | | |
FAIL | Bug #26869 (constant as the key of static array) | | | |
PASS | Bug #27354 (Modulus operator crashes PHP) | | | |
FAIL | Bug #27439 (foreach() with $this segfaults) | | | |
PASS | Bug #27443 (defined() returns wrong type) | | | |
PASS | Bug #27535 (Objects pointing to each other cause Apache to crash) | | | |
FAIL | Bug #28213 (crash in debug_print_backtrace in static methods) | | | |
PASS | Bug #28800 (Incorrect string to number conversion for strings starting with 'inf') | | | |
FAIL | Bug #29566 (foreach/string handling strangeness) | | | |
FAIL | Bug #29893 (segfault when using array as index) | | | |
PASS | Bug #29944 (function defined in switch crashes PHP) | | | |
FAIL | Bug #30578 (Output buffers flushed before calling __desctruct functions) | | | |
SKIP | Bug #30638 (localeconv returns wrong LC_NUMERIC settings) (ok to fail on MacOS X) | reason: ok to fail on MacOS X | | |
PASS | Bug #30726 (-.1 like numbers are not being handled correctly) | | | |
PASS | Bug #30862 (Static array with boolean indexes) | | | |
FAIL | Bug #32828 (Throwing exception in output_callback function with ob_start and ob_end_clean leads to segfault) | | | |
PASS | Bug #32924 (prepend does not add file to included files) | | | |
FAIL | Bug #35176 (include()/require()/*_once() produce wrong error messages about main()) | | | |
PASS | Bug #35382 (Comment in end of file produces fatal error) | | | |
SKIP | Bug #38579 (include_once() may include the same file twice) | reason: only for Windows | | |
FAIL | Bug #43958 (class name added into the error message) | | | |
PASS | Bug #44654 (syntax error for #) | | | |
FAIL | Bug #44827 (Class error when trying to access :: as constant) | | | |
FAIL | Bug #45392 (ob_start()/ob_end_clean() and memory_limit) | | | |
FAIL | Bug #55754 (Only variables should be passed by reference for ZEND_SEND_PREFER_REF params) | | | |
FAIL | Bug #7515 (weird & invisible referencing of objects) | | | |
PASS | Catchable fatal error [1] | | | |
FAIL | Catchable fatal error [2] | | | |
PASS | #-style comments | | | |
PASS | #-style comments (part 2) | | | |
PASS | Test standard 'compare' object handler | | | |
FAIL | Test object compare when object handler different | | | |
PASS | Binary safety of each() for both keys and values | | | |
PASS | empty() on array elements | | | |
FAIL | Evaluation order during assignments. | | | |
FAIL | Evaluation order during assignments. | | | |
FAIL | Evaluation order during assignments. | | | |
FAIL | Evaluation order during assignments. | | | |
PASS | Evaluation order during assignments. | | | |
PASS | Evaluation order during assignments. | | | |
FAIL | Check key execution order with &new. | | | |
FAIL | Ensure by value assignments leave temporaries on the stack, for all sorts of assignees. | | | |
FAIL | Execution ordering with comparison operators. | | | |
FAIL | ZE2 errors caught as exceptions | | | |
FAIL | Execution order of variables | | | |
FAIL | Foreach loop tests - basic loop with just value and key => value. | | | |
FAIL | Foreach loop tests - modifying the array during the loop. | | | |
FAIL | Foreach loop tests - error case: not an array. | | | |
FAIL | Foreach loop tests - using an array element as the $value | | | |
FAIL | Foreach loop tests - modifying the array during the loop: special case. Behaviour is good since php 5.2.2. | | | |
FAIL | Foreach loop tests - error case: key is a reference. | | | |
FAIL | Foreach loop tests - foreach operates on the original array if the array is referenced outside the loop. | | | |
PASS | This test illustrates the impact of invoking destructors when refcount is decremented to 0 on foreach.
It will pass only if the 'contentious code' in PHPValue.decReferences() is enabled. | | | |
FAIL | Changing from an interable type to a non iterable type during the iteration | | | |
FAIL | Directly modifying an unreferenced array when foreach'ing over it. | | | |
FAIL | Directly modifying an unreferenced array when foreach'ing over it while using &$value syntax. | | | |
FAIL | Directly modifying a REFERENCED array when foreach'ing over it. | | | |
FAIL | Directly modifying a REFERENCED array when foreach'ing over it while using &$value syntax. | | | |
FAIL | Ensure foreach splits the iterated entity from its cow reference set, for all sorts of iterated entities. | | | |
PASS | Ensure foreach works with arrays with Binary keys. | | | |
FAIL | foreach with Iterator. | | | |
FAIL | foreach with iterator and &$value reference | | | |
FAIL | foreach with iteratorAggregate | | | |
FAIL | IteratorAggregate::getIterator bad return type | | | |
FAIL | foreach with nested iteratorAggregates | | | |
FAIL | Duplicate of zend test tests/classes/iterators_002.phpt without expected output from destructor | | | |
FAIL | Foreach loop on objects - basic loop with just value and key => value. | | | |
FAIL | Foreach loop tests - visibility. | | | |
FAIL | Foreach loop tests - modifying the object during the loop. | | | |
FAIL | Foreach loop tests - Removing the current element from an iterated object. | | | |
FAIL | Foreach loop tests - removing properties before and after the current property during the loop. | | | |
FAIL | Foreach loop tests - substituting the entire iterated entity during the loop. | | | |
PASS | foreach() with foreach($o->mthd()->arr) | | | |
PASS | foreach() with references | | | |
PASS | func_get_arg test | | | |
PASS | func_get_arg with variable number of args | | | |
PASS | func_get_arg outside of a function declaration | | | |
PASS | func_get_arg on non-existent arg | | | |
PASS | A variable, which is referenced by another variable, is passed by value.
During the call, the original variable is updated. This should not affect func_get_arg(). | | | |
PASS | func_get_arg test | | | |
PASS | func_get_args with no args | | | |
PASS | func_get_args with variable number of args | | | |
PASS | func_get_args() outside of a function declaration | | | |
PASS | Pass same variable by ref and by value. | | | |
PASS | func_num_args with no args | | | |
PASS | func_num_args with variable number of args | | | |
PASS | func_num_args() outside of a function declaration | | | |
PASS | Pass same variable by ref and by value. | | | |
PASS | include() a file from the current script directory | | | |
FAIL | Including a file in the current script directory from an included function | | | |
FAIL | Including a file in the current script directory from eval'd code | | | |
PASS | Test + operator : 64bit long tests | | | |
PASS | Test + operator : various numbers as strings | | | |
PASS | Test & operator : 64bit long tests | | | |
PASS | Test & operator : various numbers as strings | | | |
PASS | Test ~N operator : 64bit long tests | | | |
PASS | Test ~N operator : various numbers as strings | | | |
PASS | Test | operator : 64bit long tests | | | |
PASS | Test | operator : various numbers as strings | | | |
PASS | Test << operator : 64bit long tests | | | |
SKIP | Test << operator : various numbers as strings | reason: this test is for 32bit platform only | | |
PASS | Test << operator : various numbers as strings | | | |
PASS | Test >> operator : 64bit long tests | | | |
PASS | Test >> operator : various numbers as strings | | | |
PASS | Test ^ operator : 64bit long tests | | | |
PASS | Test ^ operator : various numbers as strings | | | |
PASS | Test / operator : 64bit long tests | | | |
FAIL | Test / operator : various numbers as strings | | | |
PASS | Test % operator : 64bit long tests | | | |
PASS | Test % operator : various numbers as strings | | | |
PASS | Test * operator : 64bit long tests | | | |
FAIL | Test * operator : various numbers as strings | | | |
PASS | Test -N operator : 64bit long tests | | | |
PASS | Test -N operator : various numbers as strings | | | |
PASS | Test == operator : different types | | | |
SKIP | Test == operator : max int 32bit range | reason: this test is for 32bit platform only | | |
PASS | Test == operator : max int 64bit range | | | |
PASS | Test > operator : different types | | | |
PASS | Test >= operator : different types | | | |
SKIP | Test >= operator : max int 32bit range | reason: this test is for 32bit platform only | | |
PASS | Test >= operator : max int 64bit range | | | |
SKIP | Test > operator : max int 32bit range | reason: this test is for 32bit platform only | | |
PASS | Test > operator : max int 64bit range | | | |
PASS | Test === operator : different types | | | |
SKIP | Test === operator : max int 32bit range | reason: this test is for 32bit platform only | | |
PASS | Test === operator : max int 64bit range | | | |
PASS | Test < operator : different types | | | |
PASS | Test <= operator : different types | | | |
SKIP | Test <= operator : max int 32bit range | reason: this test is for 32bit platform only | | |
PASS | Test <= operator : max int 64bit range | | | |
SKIP | Test < operator : max int 32bit range | reason: this test is for 32bit platform only | | |
PASS | Test < operator : max int 64bit range | | | |
PASS | Test != operator : different types | | | |
SKIP | Test != operator : max int 32bit range | reason: this test is for 32bit platform only | | |
PASS | Test == operator : max int 64bit range | | | |
PASS | Test !== operator : different types | | | |
SKIP | Test !== operator : max int 32bit range | reason: this test is for 32bit platform only | | |
PASS | Test !== operator : max int 64bit range | | | |
PASS | Test N-- operator : 64bit long tests | | | |
PASS | Test N-- operator : various numbers as strings | | | |
PASS | Test N++ operator : 64bit long tests | | | |
PASS | Test N++ operator : various numbers as strings | | | |
PASS | Test --N operator : 64bit long tests | | | |
PASS | Test --N operator : various numbers as strings | | | |
PASS | Test ++N operator : 64bit long tests | | | |
PASS | Test ++N operator : various numbers as strings | | | |
PASS | Test - operator : 64bit long tests | | | |
PASS | Test - operator : various numbers as strings | | | |
FAIL | passing of function parameters by reference | | | |
FAIL | Attempt to pass a constant by reference | | | |
FAIL | Implicit initialisation when passing by reference | | | |
FAIL | passing the return value from a function by reference | | | |
FAIL | Pass uninitialised variables by reference and by value to test implicit initialisation. | | | |
FAIL | Pass uninitialised objects and arrays by reference to test implicit initialisation. | | | |
FAIL | Pass function and method calls by reference and by value. | | | |
PASS | Pass same variable by ref and by value. | | | |
FAIL | Assignement as argument | | | |
FAIL | Passing assignments by reference | | | |
FAIL | Test pass by reference semantics | | | |
PASS | Returning a reference from a function | | | |
FAIL | Returning a reference from a function. | | | |
FAIL | Returning a reference from a function | | | |
FAIL | Returning a reference from a static method | | | |
FAIL | Returning a reference from a method | | | |
FAIL | Returning a reference from a function via another function | | | |
FAIL | Returning a reference from a static method via another static method | | | |
FAIL | Returning a reference from a non-static method via another non-static method | | | |
FAIL | Returning a references returned by another function | | | |
PASS | <script> tag | | | |
PASS | short_open_tag: On | | | |
FAIL | short_open_tag: Off | | | |
FAIL | short_open_tag: On, asp_tags: On | | | |
FAIL | short_open_tag: Off, asp_tags: Off | | | |
PASS | Static keyword - basic tests | | | |
PASS | Multiple declarations of the same static variable | | | |
FAIL | Statics in nested functions & evals. | | | |
PASS | Static variables in methods & nested functions & evals. | | | |
PASS | String conversion with multiple decimal points | | | |
PASS | Test to catch early assignment of $this | | | |
FAIL | Catching an exception thrown from an included file | | | |
PASS | ZE2 type hinting | | | |
PASS | ZE2 type hinting | | | |
PASS | ZE2 type hinting | | | |