laruence                                 Tue, 20 Sep 2011 07:10:46 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=317041

Log:
Add tests for built-in webserver

Changed paths:
    A   php/php-src/branches/PHP_5_4/sapi/cli/tests/php_cli_server.inc
    A   php/php-src/branches/PHP_5_4/sapi/cli/tests/php_cli_server_001.phpt
    A   php/php-src/branches/PHP_5_4/sapi/cli/tests/php_cli_server_002.phpt
    A   php/php-src/branches/PHP_5_4/sapi/cli/tests/php_cli_server_003.phpt
    A   php/php-src/trunk/sapi/cli/tests/php_cli_server.inc
    A   php/php-src/trunk/sapi/cli/tests/php_cli_server_001.phpt
    A   php/php-src/trunk/sapi/cli/tests/php_cli_server_002.phpt
    A   php/php-src/trunk/sapi/cli/tests/php_cli_server_003.phpt

Added: php/php-src/branches/PHP_5_4/sapi/cli/tests/php_cli_server.inc
===================================================================
--- php/php-src/branches/PHP_5_4/sapi/cli/tests/php_cli_server.inc              
                (rev 0)
+++ php/php-src/branches/PHP_5_4/sapi/cli/tests/php_cli_server.inc      
2011-09-20 07:10:46 UTC (rev 317041)
@@ -0,0 +1,29 @@
+<?php
+define ("PHP_CLI_SERVER_ADDRESS", "localhost:8964");
+
+function php_cli_server_start($php_executable, $code = 'echo "Hello world";') {
+       $doc_root = __DIR__;
+       $router = "router.php";
+       file_put_contents($doc_root . '/' . $router, '<?php ' . $code . ' ?>');
+
+       $descriptorspec = array(
+               0 => STDIN,
+               1 => STDOUT,
+               2 => STDERR,
+       );
+
+       $cmd = "{$php_executable} -t {$doc_root} -S " . PHP_CLI_SERVER_ADDRESS 
. " {$router}";
+
+       $handle = proc_open($cmd, $descriptorspec, $pipes, $doc_root);
+       sleep(1);
+
+       return $handle;
+}
+
+function php_cli_server_shutdown($handle) {
+       proc_terminate($handle);
+       proc_close($handle);
+       @unlink(__DIR__ . "router.php");
+       return true;
+}
+?>

Added: php/php-src/branches/PHP_5_4/sapi/cli/tests/php_cli_server_001.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/sapi/cli/tests/php_cli_server_001.phpt         
                (rev 0)
+++ php/php-src/branches/PHP_5_4/sapi/cli/tests/php_cli_server_001.phpt 
2011-09-20 07:10:46 UTC (rev 317041)
@@ -0,0 +1,21 @@
+--TEST--
+basic function
+--INI--
+allow_url_fopen = TRUE
+--SKIPIF--
+<?php
+include "skipif.inc";
+if (substr(PHP_OS, 0, 3) == 'WIN') {
+    die ("skip not for Windows");
+}
+?>
+--FILE--
+<?php
+include "php_cli_server.inc";
+$php = getenv('TEST_PHP_EXECUTABLE');
+$handle = php_cli_server_start($php);
+var_dump(file_get_contents("http://"; . PHP_CLI_SERVER_ADDRESS));
+php_cli_server_shutdown($handle);
+?>
+--EXPECT--
+string(11) "Hello world"

Added: php/php-src/branches/PHP_5_4/sapi/cli/tests/php_cli_server_002.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/sapi/cli/tests/php_cli_server_002.phpt         
                (rev 0)
+++ php/php-src/branches/PHP_5_4/sapi/cli/tests/php_cli_server_002.phpt 
2011-09-20 07:10:46 UTC (rev 317041)
@@ -0,0 +1,23 @@
+--TEST--
+$_SERVER variable
+--INI--
+allow_url_fopen = TRUE
+--SKIPIF--
+<?php
+include "skipif.inc";
+if (substr(PHP_OS, 0, 3) == 'WIN') {
+    die ("skip not for Windows");
+}
+?>
+--FILE--
+<?php
+include "php_cli_server.inc";
+$php = getenv('TEST_PHP_EXECUTABLE');
+$handle = php_cli_server_start($php, 'var_dump($_SERVER["DOCUMENT_ROOT"], 
$_SERVER["SERVER_SOFTWARE"]);');
+var_dump(file_get_contents("http://"; . PHP_CLI_SERVER_ADDRESS));
+php_cli_server_shutdown($handle);
+?>
+--EXPECTF--
+string(%d) "string(%d) "%s/tests"
+string(%d) "PHP %s Development Server"
+"

Added: php/php-src/branches/PHP_5_4/sapi/cli/tests/php_cli_server_003.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/sapi/cli/tests/php_cli_server_003.phpt         
                (rev 0)
+++ php/php-src/branches/PHP_5_4/sapi/cli/tests/php_cli_server_003.phpt 
2011-09-20 07:10:46 UTC (rev 317041)
@@ -0,0 +1,23 @@
+--TEST--
+Bug #55726 (Changing the working directory makes router script inaccessible)
+--INI--
+allow_url_fopen = 1
+--SKIPIF--
+<?php
+include "skipif.inc";
+if (substr(PHP_OS, 0, 3) == 'WIN') {
+    die ("skip not for Windows");
+}
+?>
+--FILE--
+<?php
+include "php_cli_server.inc";
+$php = getenv('TEST_PHP_EXECUTABLE');
+$handle = php_cli_server_start($php, 'chdir("/tmp"); echo "okey";');
+var_dump(file_get_contents("http://"; . PHP_CLI_SERVER_ADDRESS));
+var_dump(file_get_contents("http://"; . PHP_CLI_SERVER_ADDRESS));
+php_cli_server_shutdown($handle);
+?>
+--EXPECTF--
+string(4) "okey"
+string(4) "okey"

Added: php/php-src/trunk/sapi/cli/tests/php_cli_server.inc
===================================================================
--- php/php-src/trunk/sapi/cli/tests/php_cli_server.inc                         
(rev 0)
+++ php/php-src/trunk/sapi/cli/tests/php_cli_server.inc 2011-09-20 07:10:46 UTC 
(rev 317041)
@@ -0,0 +1,29 @@
+<?php
+define ("PHP_CLI_SERVER_ADDRESS", "localhost:8964");
+
+function php_cli_server_start($php_executable, $code = 'echo "Hello world";') {
+       $doc_root = __DIR__;
+       $router = "router.php";
+       file_put_contents($doc_root . '/' . $router, '<?php ' . $code . ' ?>');
+
+       $descriptorspec = array(
+               0 => STDIN,
+               1 => STDOUT,
+               2 => STDERR,
+       );
+
+       $cmd = "{$php_executable} -t {$doc_root} -S " . PHP_CLI_SERVER_ADDRESS 
. " {$router}";
+
+       $handle = proc_open($cmd, $descriptorspec, $pipes, $doc_root);
+       sleep(1);
+
+       return $handle;
+}
+
+function php_cli_server_shutdown($handle) {
+       proc_terminate($handle);
+       proc_close($handle);
+       @unlink(__DIR__ . "router.php");
+       return true;
+}
+?>

Added: php/php-src/trunk/sapi/cli/tests/php_cli_server_001.phpt
===================================================================
--- php/php-src/trunk/sapi/cli/tests/php_cli_server_001.phpt                    
        (rev 0)
+++ php/php-src/trunk/sapi/cli/tests/php_cli_server_001.phpt    2011-09-20 
07:10:46 UTC (rev 317041)
@@ -0,0 +1,21 @@
+--TEST--
+basic function
+--INI--
+allow_url_fopen = TRUE
+--SKIPIF--
+<?php
+include "skipif.inc";
+if (substr(PHP_OS, 0, 3) == 'WIN') {
+    die ("skip not for Windows");
+}
+?>
+--FILE--
+<?php
+include "php_cli_server.inc";
+$php = getenv('TEST_PHP_EXECUTABLE');
+$handle = php_cli_server_start($php);
+var_dump(file_get_contents("http://"; . PHP_CLI_SERVER_ADDRESS));
+php_cli_server_shutdown($handle);
+?>
+--EXPECT--
+string(11) "Hello world"

Added: php/php-src/trunk/sapi/cli/tests/php_cli_server_002.phpt
===================================================================
--- php/php-src/trunk/sapi/cli/tests/php_cli_server_002.phpt                    
        (rev 0)
+++ php/php-src/trunk/sapi/cli/tests/php_cli_server_002.phpt    2011-09-20 
07:10:46 UTC (rev 317041)
@@ -0,0 +1,23 @@
+--TEST--
+$_SERVER variable
+--INI--
+allow_url_fopen = TRUE
+--SKIPIF--
+<?php
+include "skipif.inc";
+if (substr(PHP_OS, 0, 3) == 'WIN') {
+    die ("skip not for Windows");
+}
+?>
+--FILE--
+<?php
+include "php_cli_server.inc";
+$php = getenv('TEST_PHP_EXECUTABLE');
+$handle = php_cli_server_start($php, 'var_dump($_SERVER["DOCUMENT_ROOT"], 
$_SERVER["SERVER_SOFTWARE"]);');
+var_dump(file_get_contents("http://"; . PHP_CLI_SERVER_ADDRESS));
+php_cli_server_shutdown($handle);
+?>
+--EXPECTF--
+string(%d) "string(%d) "%s/tests"
+string(%d) "PHP %s Development Server"
+"

Added: php/php-src/trunk/sapi/cli/tests/php_cli_server_003.phpt
===================================================================
--- php/php-src/trunk/sapi/cli/tests/php_cli_server_003.phpt                    
        (rev 0)
+++ php/php-src/trunk/sapi/cli/tests/php_cli_server_003.phpt    2011-09-20 
07:10:46 UTC (rev 317041)
@@ -0,0 +1,23 @@
+--TEST--
+Bug #55726 (Changing the working directory makes router script inaccessible)
+--INI--
+allow_url_fopen = 1
+--SKIPIF--
+<?php
+include "skipif.inc";
+if (substr(PHP_OS, 0, 3) == 'WIN') {
+    die ("skip not for Windows");
+}
+?>
+--FILE--
+<?php
+include "php_cli_server.inc";
+$php = getenv('TEST_PHP_EXECUTABLE');
+$handle = php_cli_server_start($php, 'chdir("/tmp"); echo "okey";');
+var_dump(file_get_contents("http://"; . PHP_CLI_SERVER_ADDRESS));
+var_dump(file_get_contents("http://"; . PHP_CLI_SERVER_ADDRESS));
+php_cli_server_shutdown($handle);
+?>
+--EXPECTF--
+string(4) "okey"
+string(4) "okey"

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to