diff options
Diffstat (limited to 'ext/sockets/tests/mcast_ipv4_send_error.phpt')
-rw-r--r-- | ext/sockets/tests/mcast_ipv4_send_error.phpt | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/ext/sockets/tests/mcast_ipv4_send_error.phpt b/ext/sockets/tests/mcast_ipv4_send_error.phpt new file mode 100644 index 0000000..5cd3d8e --- /dev/null +++ b/ext/sockets/tests/mcast_ipv4_send_error.phpt @@ -0,0 +1,79 @@ +--TEST-- +Multicast support: IPv4 send options with unusual values +--SKIPIF-- +<?php +if (!extension_loaded('sockets')) { + die('skip sockets extension not available.'); +} +if (socket_set_option($s, $level, IP_MULTICAST_IF, 1) === false) { + die("skip interface 1 either doesn't exist or has no ipv4 address"); +} +--FILE-- +<?php +$domain = AF_INET; +$level = IPPROTO_IP; +$s = socket_create($domain, SOCK_DGRAM, SOL_UDP) or die("err"); + +echo "Setting IP_MULTICAST_LOOP with 256\n"; +//if we had a simple cast to unsigned char, this would be the same as 0 +$r = socket_set_option($s, $level, IP_MULTICAST_LOOP, 256); +var_dump($r); +$r = socket_get_option($s, $level, IP_MULTICAST_LOOP); +var_dump($r); +echo "\n"; + +echo "Setting IP_MULTICAST_LOOP with false\n"; +//should convert to (unsigned char)0 +$r = socket_set_option($s, $level, IP_MULTICAST_LOOP, false); +var_dump($r); +$r = socket_get_option($s, $level, IP_MULTICAST_LOOP); +var_dump($r); +echo "\n"; + +echo "Setting IP_MULTICAST_TTL with 256\n"; +//if we had a simple cast to unsigned char, this would be the same as 0 +$r = socket_set_option($s, $level, IP_MULTICAST_TTL, 256); +var_dump($r); +$r = socket_get_option($s, $level, IP_MULTICAST_TTL); +var_dump($r); +echo "\n"; + +echo "Setting IP_MULTICAST_TTL with \"254\"\n"; +$r = socket_set_option($s, $level, IP_MULTICAST_TTL, "254"); +var_dump($r); +$r = socket_get_option($s, $level, IP_MULTICAST_TTL); +var_dump($r); +echo "\n"; + +echo "Setting IP_MULTICAST_TTL with -1\n"; +//should give error, not be the same as 255 +$r = socket_set_option($s, $level, IP_MULTICAST_TTL, -1); +var_dump($r); +$r = socket_get_option($s, $level, IP_MULTICAST_TTL); +var_dump($r); +echo "\n"; + +--EXPECTF-- +Setting IP_MULTICAST_LOOP with 256 +bool(true) +int(1) + +Setting IP_MULTICAST_LOOP with false +bool(true) +int(0) + +Setting IP_MULTICAST_TTL with 256 + +Warning: socket_set_option(): Expected a value between 0 and 255 in %s on line %d +bool(false) +int(1) + +Setting IP_MULTICAST_TTL with "254" +bool(true) +int(254) + +Setting IP_MULTICAST_TTL with -1 + +Warning: socket_set_option(): Expected a value between 0 and 255 in %s on line %d +bool(false) +int(254) |