Annotation of embedaddon/php/ext/sockets/tests/socket_set_option_bindtodevice.phpt, revision 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>