Annotation of embedaddon/php/Zend/tests/bug38047.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Bug #38047 ("file" and "line" sometimes not set in backtrace from inside error handler)
        !             3: --FILE--
        !             4: <?php
        !             5: error_reporting(E_ALL);
        !             6: set_error_handler('kalus_error_handler');
        !             7: ini_set("display_errors", "on");
        !             8: 
        !             9: class A {
        !            10:   function A_ftk($a) {
        !            11:   }
        !            12: }
        !            13: 
        !            14: function kalus_error_handler($error_code, $error_string, $filename, $line, $symbols) {
        !            15:   echo "$error_string\n";
        !            16:   get_error_context();
        !            17: }
        !            18: 
        !            19: function get_error_context() {
        !            20:   $backtrace = debug_backtrace();
        !            21:   $n = 1;
        !            22:   foreach ($backtrace as $call) {
        !            23:        echo $n++." ";
        !            24:        if (isset($call["file"])) {
        !            25:                echo $call["file"];
        !            26:                if (isset($call["line"])) {
        !            27:                        echo ":".$call["line"];
        !            28:                }
        !            29:        }
        !            30:        if (isset($call["function"])) {
        !            31:                echo " ".$call["function"]."()";
        !            32:        }
        !            33:        echo "\n";
        !            34:   }
        !            35:   echo "\n";
        !            36: }
        !            37: 
        !            38: //This will not create file and line items for the call into the error handler
        !            39: $page["name"] = A::A_ftk();
        !            40: ?>
        !            41: --EXPECTF--
        !            42: Non-static method A::A_ftk() should not be called statically
        !            43: 1 %sbug38047.php:13 get_error_context()
        !            44: 2 %sbug38047.php:36 kalus_error_handler()
        !            45: 3 %sbug38047.php:36 A_ftk()
        !            46: 
        !            47: Missing argument 1 for A::A_ftk(), called in %sbug38047.php on line 36 and defined
        !            48: 1 %sbug38047.php:13 get_error_context()
        !            49: 2 %sbug38047.php:7 kalus_error_handler()
        !            50: 3 %sbug38047.php:36 A_ftk()

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>