Annotation of embedaddon/php/ext/sockets/tests/mcast_ipv4_send_error.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Multicast support: IPv4 send options with unusual values
3: --SKIPIF--
4: <?php
5: if (!extension_loaded('sockets')) {
6: die('skip sockets extension not available.');
7: }
8: if (socket_set_option($s, $level, IP_MULTICAST_IF, 1) === false) {
9: die("skip interface 1 either doesn't exist or has no ipv4 address");
10: }
11: --FILE--
12: <?php
13: $domain = AF_INET;
14: $level = IPPROTO_IP;
15: $s = socket_create($domain, SOCK_DGRAM, SOL_UDP) or die("err");
16:
17: echo "Setting IP_MULTICAST_LOOP with 256\n";
18: //if we had a simple cast to unsigned char, this would be the same as 0
19: $r = socket_set_option($s, $level, IP_MULTICAST_LOOP, 256);
20: var_dump($r);
21: $r = socket_get_option($s, $level, IP_MULTICAST_LOOP);
22: var_dump($r);
23: echo "\n";
24:
25: echo "Setting IP_MULTICAST_LOOP with false\n";
26: //should convert to (unsigned char)0
27: $r = socket_set_option($s, $level, IP_MULTICAST_LOOP, false);
28: var_dump($r);
29: $r = socket_get_option($s, $level, IP_MULTICAST_LOOP);
30: var_dump($r);
31: echo "\n";
32:
33: echo "Setting IP_MULTICAST_TTL with 256\n";
34: //if we had a simple cast to unsigned char, this would be the same as 0
35: $r = socket_set_option($s, $level, IP_MULTICAST_TTL, 256);
36: var_dump($r);
37: $r = socket_get_option($s, $level, IP_MULTICAST_TTL);
38: var_dump($r);
39: echo "\n";
40:
41: echo "Setting IP_MULTICAST_TTL with \"254\"\n";
42: $r = socket_set_option($s, $level, IP_MULTICAST_TTL, "254");
43: var_dump($r);
44: $r = socket_get_option($s, $level, IP_MULTICAST_TTL);
45: var_dump($r);
46: echo "\n";
47:
48: echo "Setting IP_MULTICAST_TTL with -1\n";
49: //should give error, not be the same as 255
50: $r = socket_set_option($s, $level, IP_MULTICAST_TTL, -1);
51: var_dump($r);
52: $r = socket_get_option($s, $level, IP_MULTICAST_TTL);
53: var_dump($r);
54: echo "\n";
55:
56: --EXPECTF--
57: Setting IP_MULTICAST_LOOP with 256
58: bool(true)
59: int(1)
60:
61: Setting IP_MULTICAST_LOOP with false
62: bool(true)
63: int(0)
64:
65: Setting IP_MULTICAST_TTL with 256
66:
67: Warning: socket_set_option(): Expected a value between 0 and 255 in %s on line %d
68: bool(false)
69: int(1)
70:
71: Setting IP_MULTICAST_TTL with "254"
72: bool(true)
73: int(254)
74:
75: Setting IP_MULTICAST_TTL with -1
76:
77: Warning: socket_set_option(): Expected a value between 0 and 255 in %s on line %d
78: bool(false)
79: int(254)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>