summaryrefslogtreecommitdiff
path: root/sapi/cli/tests
diff options
context:
space:
mode:
authorSean Finney <seanius@debian.org>2009-04-10 14:09:48 +0200
committerSean Finney <seanius@debian.org>2009-04-10 14:09:48 +0200
commitcd0b49c72aee33b3e44a9c589fcd93b9e1c7a64f (patch)
tree1315c623bb7d9dfa8d366fa9cd2c6834ceeb5da5 /sapi/cli/tests
parent9ea47aab740772adf0c69d8c94b208a464e599ea (diff)
downloadphp-upstream/5.2.9.dfsg.1.tar.gz
Imported Upstream version 5.2.9.dfsg.1upstream/5.2.9.dfsg.1
Diffstat (limited to 'sapi/cli/tests')
-rw-r--r--sapi/cli/tests/009.phpt3
-rw-r--r--sapi/cli/tests/015.phpt8
-rw-r--r--sapi/cli/tests/021.phpt39
-rw-r--r--sapi/cli/tests/022.inc14
-rw-r--r--sapi/cli/tests/022.phpt47
5 files changed, 104 insertions, 7 deletions
diff --git a/sapi/cli/tests/009.phpt b/sapi/cli/tests/009.phpt
index c0bb319f7..a881a0730 100644
--- a/sapi/cli/tests/009.phpt
+++ b/sapi/cli/tests/009.phpt
@@ -7,15 +7,12 @@ using invalid combinations of cmdline options
$php = getenv('TEST_PHP_EXECUTABLE');
-var_dump(`$php -n -c -r "echo hello;"`);
var_dump(`$php -n -a -r "echo hello;"`);
var_dump(`$php -n -r "echo hello;" -a`);
echo "Done\n";
?>
--EXPECTF--
-You cannot use both -n and -c switch. Use -h for help.
-NULL
Either execute direct code, process stdin or use a file.
NULL
Either execute direct code, process stdin or use a file.
diff --git a/sapi/cli/tests/015.phpt b/sapi/cli/tests/015.phpt
index 4d5226759..ab5918b4d 100644
--- a/sapi/cli/tests/015.phpt
+++ b/sapi/cli/tests/015.phpt
@@ -13,10 +13,10 @@ if (substr(PHP_OS, 0, 3) == 'WIN') {
$php = getenv('TEST_PHP_EXECUTABLE');
-echo `"$php" --version | grep built:`;
-echo `echo "<?php print_r(\\\$argv);" | "$php" -- foo bar baz`, "\n";
-echo `"$php" --version foo bar baz | grep built:`;
-echo `"$php" --notexisting foo bar baz | grep Usage:`;
+echo `"$php" -n --version | grep built:`;
+echo `echo "<?php print_r(\\\$argv);" | "$php" -n -- foo bar baz`, "\n";
+echo `"$php" -n --version foo bar baz | grep built:`;
+echo `"$php" -n --notexisting foo bar baz | grep Usage:`;
echo "Done\n";
?>
diff --git a/sapi/cli/tests/021.phpt b/sapi/cli/tests/021.phpt
new file mode 100644
index 000000000..b127b8969
--- /dev/null
+++ b/sapi/cli/tests/021.phpt
@@ -0,0 +1,39 @@
+--TEST--
+CLI shell shebang
+--SKIPIF--
+<?php
+include 'skipif.inc';
+if (substr(PHP_OS, 0, 3) == 'WIN') {
+ die ("skip not for Windows");
+}
+?>
+--FILE--
+<?php
+
+$php = getenv('TEST_PHP_EXECUTABLE');
+
+$filename = dirname(__FILE__).'/021.tmp.php';
+
+$script = "#!$php -n\n".
+ "ola\n".
+ "<?php echo 1+1,'\n';\n".
+ "?>\n".
+ "adeus\n";
+
+file_put_contents($filename, $script);
+chmod($filename, 0777);
+
+echo `$filename`;
+
+echo "\nDone\n";
+?>
+--CLEAN--
+<?php
+unlink(dirname(__FILE__).'/021.tmp.php');
+?>
+--EXPECTF--
+ola
+2
+adeus
+
+Done
diff --git a/sapi/cli/tests/022.inc b/sapi/cli/tests/022.inc
new file mode 100644
index 000000000..b77512fcf
--- /dev/null
+++ b/sapi/cli/tests/022.inc
@@ -0,0 +1,14 @@
+<?php
+
+ob_start();
+var_dump(STDIN);
+
+$fd = fopen("php://stdin","r");
+var_dump($fd);
+
+$client_socket = stream_socket_accept($fd);
+
+$data = ob_get_clean();
+fwrite($client_socket, $data);
+
+?>
diff --git a/sapi/cli/tests/022.phpt b/sapi/cli/tests/022.phpt
new file mode 100644
index 000000000..eabb8bdf8
--- /dev/null
+++ b/sapi/cli/tests/022.phpt
@@ -0,0 +1,47 @@
+--TEST--
+STDIN/OUT/ERR stream type
+--SKIPIF--
+<?php
+if (!getenv("TEST_PHP_EXECUTABLE")) die("skip TEST_PHP_EXECUTABLE not set");
+if (substr(PHP_OS, 0, 3) == "WIN") die("skip non windows test");
+?>
+--FILE--
+<?php
+$php = getenv("TEST_PHP_EXECUTABLE");
+$socket_file = dirname(__FILE__) . '/' . pathinfo(__FILE__, PATHINFO_FILENAME) . '.sock';
+$test_file = dirname(__FILE__) . '/' . pathinfo(__FILE__, PATHINFO_FILENAME) . '.inc';
+if (file_exists($socket_file)) {
+ unlink($socket_file);
+}
+$socket = stream_socket_server('unix://' . $socket_file);
+var_dump($socket);
+if (!$socket) {
+ exit(1);
+}
+$desc = array(
+ 0 => $socket,
+ 1 => STDOUT,
+ 2 => STDERR,
+);
+$pipes = array();
+$proc = proc_open("$php -n " . escapeshellarg($test_file), $desc, $pipes);
+var_dump($proc);
+if (!$proc) {
+ exit(1);
+}
+
+$client_socket = stream_socket_client('unix://' . $socket_file);
+var_dump($client_socket);
+echo stream_get_contents($client_socket);
+fclose($client_socket);
+
+proc_terminate($proc);
+proc_close($proc);
+unlink($socket_file);
+?>
+--EXPECTF--
+resource(%d) of type (stream)
+resource(%d) of type (process)
+resource(%d) of type (stream)
+resource(%d) of type (stream)
+resource(%d) of type (stream)