From 53c7d78eea3c85b072855f8085b6fc90ec468c56 Mon Sep 17 00:00:00 2001 From: Paul Tarjan Date: Thu, 18 Jul 2013 18:53:01 -0700 Subject: [PATCH] make socket test less flakey (hopefully) I keep seeing problems with this test. Lets see if opening less sockets helps? The last few have failed on `socket_get_option($s, SOL_SOCKET, SO_TYPE)` which this does't fix though... --- hphp/test/slow/ext_socket/ext_socket.php | 171 ++++++------------ .../slow/ext_socket/ext_socket.php.expect | 61 +++---- 2 files changed, 79 insertions(+), 153 deletions(-) diff --git a/hphp/test/slow/ext_socket/ext_socket.php b/hphp/test/slow/ext_socket/ext_socket.php index b8b349512..54caa9a1a 100644 --- a/hphp/test/slow/ext_socket/ext_socket.php +++ b/hphp/test/slow/ext_socket/ext_socket.php @@ -1,12 +1,5 @@ 1, "usec" => 0))); -$s = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); -VERIFY(socket_connect($s, "facebook.com", 80)); - -$s = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); -$port = bind_random_port($s, "127.0.0.1"); -VERIFY($port != 0); -VERIFY(socket_listen($s)); - -$server = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); -$port = bind_random_port($server, "127.0.0.1"); -VERIFY($port != 0); -VERIFY(socket_listen($server)); - -$client = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); -VERIFY(socket_connect($client, "127.0.0.1", $port)); - -$s = socket_accept($server); -VERIFY(socket_write($client, "testing")); - +list($client, $s) = get_client_server(); +var_dump(socket_write($client, "hello world")); // this could fail with shorter returns, but it never does... -VS(socket_read($s, 100), "testing"); - - -$server = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); -$port = bind_random_port($server, "127.0.0.1"); -VERIFY($port != 0); -VERIFY(socket_listen($server)); - -$client = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); -VERIFY(socket_connect($client, "127.0.0.1", $port)); - -$s = socket_accept($server); +var_dump(socket_read($s, 100)); +list($client, $s) = get_client_server(); $reads = array($s); -VS(socket_select($reads, $ignore1, $ignore2, 1, 0), 0); - -VERIFY(socket_write($client, "testing")); +var_dump(socket_select($reads, $ignore1, $ignore2, 1, 0)); +var_dump(socket_write($client, "next select will be 1")); $reads = array($s); -VS(socket_select($reads, $ignore1, $ignore2, 1, 0), 1); +var_dump(socket_select($reads, $ignore1, $ignore2, 1, 0)); -for ($i = 0; $i < 20; $i++) { - $port = get_random_port(); - $server = socket_server("127.0.0.1", $port); - if ($server !== false) break; -} -VERIFY($server !== false); +list($client, $s) = get_client_server(); +$text = "send/recv"; +var_dump(socket_send($client, $text, 4, 0)); +var_dump(socket_recv($s, $buffer, 100, 0)); +var_dump($buffer); -$client = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); -VERIFY(socket_connect($client, "127.0.0.1", $port)); - -$s = socket_accept($server); - -$reads = array($s); -VS(socket_select($reads, $ignore1, $ignore2, 1, 0), 0); - -VERIFY(socket_write($client, "testing")); -$reads = array($s); -VS(socket_select($reads, $ignore1, $ignore2, 1, 0), 1); - -$server = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); -$port = bind_random_port($server, "127.0.0.1"); -VERIFY($port != 0); -VERIFY(socket_listen($server)); - -$client = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); -VERIFY(socket_connect($client, "127.0.0.1", $port)); - -$s = socket_accept($server); -$text = "testing"; -VERIFY(socket_send($client, $text, 4, 0)); - -VERIFY(socket_recv($s, $buffer, 100, 0)); -VS($buffer, "test"); - -$server = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); -$port = bind_random_port($server, "127.0.0.1"); -VERIFY($port != 0); -VERIFY(socket_listen($server)); - -$client = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); -VERIFY(socket_connect($client, "127.0.0.1", $port)); - -$s = socket_accept($server); -$text = "testing"; -VERIFY(socket_sendto($client, $text, 4, 0, "127.0.0.1", $port)); - -VERIFY(socket_recvfrom($s, $buffer, 100, 0, $name, $vport)); -VS($buffer, "test"); +list($client, $s) = get_client_server(); +$text = "more specific"; +var_dump(socket_sendto($client, $text, 4, 0, "127.0.0.1", $port)); +var_dump(socket_recvfrom($s, $buffer, 100, 0, $name, $vport)); +var_dump($buffer); $s = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); $port = bind_random_port($s, "127.0.0.1"); -VERIFY($port != 0); -VERIFY(socket_listen($s)); -VERIFY(socket_shutdown($s)); +var_dump($port != 0); +var_dump(socket_listen($s)); +var_dump(socket_shutdown($s)); $s = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); $port = bind_random_port($s, "127.0.0.1"); -VERIFY($port != 0); -VERIFY(socket_listen($s)); -socket_close($s); +var_dump($port != 0); +var_dump(socket_listen($s)); +var_dump(socket_close($s)); $s = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_bind($s, "127.0.0.1", 80); if (socket_last_error($s) == 13) { - VS(socket_strerror(13), "Permission denied"); + var_dump(socket_strerror(13) == "Permission denied"); socket_clear_error($s); } -VS(socket_last_error($s), 0); +var_dump(socket_last_error($s)); diff --git a/hphp/test/slow/ext_socket/ext_socket.php.expect b/hphp/test/slow/ext_socket/ext_socket.php.expect index c71956663..ecbf49778 100644 --- a/hphp/test/slow/ext_socket/ext_socket.php.expect +++ b/hphp/test/slow/ext_socket/ext_socket.php.expect @@ -1,3 +1,8 @@ +resource(4) of type (stream) +bool(true) +int(2) +int(1) +int(1) bool(true) bool(true) bool(true) @@ -9,43 +14,31 @@ bool(true) bool(true) bool(true) bool(true) +int(11) +string(11) "hello world" +bool(true) +bool(true) +bool(true) +int(0) +int(21) +int(1) +bool(true) +bool(true) +bool(true) +int(4) +int(4) +string(4) "send" +bool(true) +bool(true) +bool(true) +int(4) +int(4) +string(4) "more" bool(true) bool(true) bool(true) bool(true) bool(true) +NULL bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) +int(0)