summaryrefslogtreecommitdiff
path: root/ext/standard/tests/network/unixloop.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/network/unixloop.phpt')
-rw-r--r--ext/standard/tests/network/unixloop.phpt44
1 files changed, 44 insertions, 0 deletions
diff --git a/ext/standard/tests/network/unixloop.phpt b/ext/standard/tests/network/unixloop.phpt
new file mode 100644
index 0000000..abb103b
--- /dev/null
+++ b/ext/standard/tests/network/unixloop.phpt
@@ -0,0 +1,44 @@
+--TEST--
+Streams Based Unix Domain Loopback test
+--SKIPIF--
+<?php # vim:ft=php:
+ if (array_search("unix",stream_get_transports()) === false)
+ die('SKIP No support for UNIX domain sockets.');
+?>
+--FILE--
+<?php
+ $uniqid = uniqid();
+ if (file_exists("/tmp/$uniqid.sock"))
+ die('Temporary socket already exists.');
+
+ /* Setup socket server */
+ $server = stream_socket_server("unix:///tmp/$uniqid.sock");
+ if (!$server) {
+ die('Unable to create AF_UNIX socket [server]');
+ }
+
+ /* Connect to it */
+ $client = stream_socket_client("unix:///tmp/$uniqid.sock");
+ if (!$client) {
+ die('Unable to create AF_UNIX socket [client]');
+ }
+
+ /* Accept that connection */
+ $socket = stream_socket_accept($server);
+ if (!$socket) {
+ die('Unable to accept connection');
+ }
+
+ fwrite($client, "ABCdef123\n");
+
+ $data = fread($socket, 10);
+ var_dump($data);
+
+ fclose($client);
+ fclose($socket);
+ fclose($server);
+ unlink("/tmp/$uniqid.sock");
+?>
+--EXPECT--
+string(10) "ABCdef123
+"