--TEST--
Bug #61977 Test exit code for various errors
--SKIPIF--
<?php
include "skipif.inc"
?>
--FILE--
<?php
include "php_cli_server.inc";
php_cli_server_start(<<<'SCRIPT'
    ini_set('display_errors', 0);
    switch($_SERVER["REQUEST_URI"]) {
            case "/parse":
                    eval("this is a parse error");
                    echo "OK\n";
                    break;
            case "/fatal":
                    eval("foo();");
                    echo "OK\n";
                    break;
            case "/compile":
                    eval("class foo { final private final function bar() {} }");
                    echo "OK\n";
                    break;
            case "/fatal2":
                    foo();
                    echo "OK\n";
                    break;
            default:
                    return false;
    }
SCRIPT
);

list(
$host$port) = explode(':'PHP_CLI_SERVER_ADDRESS);
$port intval($port)?:80;

foreach(array(
"parse""fatal""fatal2""compile") as $url) {
    
$fp fsockopen($host$port$errno$errstr0.5);
    if (!
$fp) {
          die(
"connect failed");
    }

    if(
fwrite($fp, <<<HEADER
GET /$url HTTP/1.1
Host: 
{$host}


HEADER
)) {
        while (!
feof($fp)) {
                echo 
fgets($fp);
        }
    }
}

?>
--EXPECTF--
HTTP/1.1 200 OK
Host: localhost
Connection: close
X-Powered-By: %s
Content-type: text/html

OK
HTTP/1.0 500 Internal Server Error
Host: localhost
Connection: close
X-Powered-By: %s
Content-type: text/html

HTTP/1.0 500 Internal Server Error
Host: localhost
Connection: close
X-Powered-By: %s
Content-type: text/html

HTTP/1.0 500 Internal Server Error
Host: localhost
Connection: close
X-Powered-By: %s
Content-type: text/html