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>