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>