Annotation of embedaddon/php/ext/sockets/tests/socket_set_option_bindtodevice.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test if socket_set_option() works, option:SO_BINDTODEVICE
                      3: --DESCRIPTION--
                      4: -Bind to loopback 'lo' device (should exist)
                      5: -Bind to unexisting device
                      6: --SKIPIF--
                      7: <?php
                      8: if (!extension_loaded('sockets')) {
                      9:         die('SKIP sockets extension not available.');
                     10: }
                     11: if (!defined("SO_BINDTODEVICE")) {
                     12:        die('SKIP SO_BINDTODEVICE not supported on this platform.');
                     13: }
                     14: if (!function_exists("posix_getuid") || posix_getuid() != 0) {
                     15:        die('SKIP SO_BINDTODEVICE requires root permissions.');
                     16: }
                     17: ?>
                     18: --FILE--
                     19: <?php
                     20: $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
                     21: 
                     22: if (!$socket) {
                     23:         die('Unable to create AF_INET socket [socket]');
                     24: }
                     25: // wrong params
                     26: $retval_1 = socket_set_option( $socket, SOL_SOCKET, SO_BINDTODEVICE, "lo");
                     27: var_dump($retval_1);
                     28: $retval_2 = socket_set_option( $socket, SOL_SOCKET, SO_BINDTODEVICE, "ethIDONOTEXIST");
                     29: var_dump($retval_2);
                     30: 
                     31: socket_close($socket);
                     32: ?>
                     33: 
                     34: --EXPECTF--
                     35: bool(true)
                     36: 
                     37: Warning: socket_set_option(): unable to set socket option [19]: No such device in %s on line %d
                     38: bool(false)
                     39: --CREDITS--
                     40: Damjan Cvetko, foreach.org

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>