1
0
mirror of https://github.com/php/php-src.git synced 2026-04-28 02:33:17 +02:00
Files
archived-php-src/ext/sockets/tests/socket_export_stream-4-win.phpt
T
Christoph M. Becker 3b05bdedcd Use zero port in socket_(export|import)_stream-4-win.phpt
These regularly fail due to port clashes, though we don't seem to
use those ports in any other tests.

As we don't care about the specific port that is used here, pass
zero so that a random ephemeral port is used.
2019-06-06 16:19:19 +02:00

108 lines
2.5 KiB
PHP

--TEST--
socket_export_stream: effects of closing
--SKIPIF--
<?php
if (!extension_loaded('sockets')) {
die('SKIP sockets extension not available.');
}
if(substr(PHP_OS, 0, 3) != 'WIN' ) {
die("skip Not Valid for Linux");
}
--FILE--
<?php
function test($stream, $sock) {
if ($stream !== null) {
echo "stream_set_blocking ";
print_r(stream_set_blocking($stream, 0));
echo "\n";
}
if ($sock !== null) {
echo "socket_set_block ";
print_r(socket_set_block($sock));
echo "\n";
echo "socket_get_option ";
print_r(socket_get_option($sock, SOL_SOCKET, SO_TYPE));
echo "\n";
}
echo "\n";
}
echo "normal\n";
$sock0 = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($sock0, '0.0.0.0', 0);
$stream0 = socket_export_stream($sock0);
test($stream0, $sock0);
echo "\nunset stream\n";
$sock1 = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($sock1, '0.0.0.0', 0);
$stream1 = socket_export_stream($sock1);
unset($stream1);
test(null, $sock1);
echo "\nunset socket\n";
$sock2 = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($sock2, '0.0.0.0', 0);
$stream2 = socket_export_stream($sock2);
unset($sock2);
test($stream2, null);
echo "\nclose stream\n";
$sock3 = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($sock3, '0.0.0.0', 0);
$stream3 = socket_export_stream($sock3);
fclose($stream3);
test($stream3, $sock3);
echo "\nclose socket\n";
$sock4 = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($sock4, '0.0.0.0', 0);
$stream4 = socket_export_stream($sock4);
socket_close($sock4);
test($stream4, $sock4);
echo "Done.\n";
--EXPECTF--
normal
stream_set_blocking 1
socket_set_block 1
socket_get_option 2
unset stream
socket_set_block 1
socket_get_option 2
unset socket
stream_set_blocking 1
close stream
stream_set_blocking
Warning: stream_set_blocking(): supplied resource is not a valid stream resource in %s on line %d
socket_set_block
Warning: socket_set_block(): unable to set blocking mode [%d]: An operation was attempted on something that is not a socket.
in %s on line %d
socket_get_option
Warning: socket_get_option(): unable to retrieve socket option [%d]: An operation was attempted on something that is not a socket.
in %s on line %d
close socket
stream_set_blocking
Warning: stream_set_blocking(): supplied resource is not a valid stream resource in %s on line %d
socket_set_block
Warning: socket_set_block(): supplied resource is not a valid Socket resource in %s on line %d
socket_get_option
Warning: socket_get_option(): supplied resource is not a valid Socket resource in %s on line %d
Done.