Blame t/misbehave.t

Packit Service 584ef9
#!/usr/bin/perl
Packit Service 584ef9
Packit Service 584ef9
use strict;
Packit Service 584ef9
use Test::More;
Packit Service 584ef9
use FindBin qw($Bin);
Packit Service 584ef9
use Socket qw(MSG_PEEK MSG_DONTWAIT);
Packit Service 584ef9
use lib "$Bin/lib";
Packit Service 584ef9
use MemcachedTest;
Packit Service 584ef9
Packit Service 584ef9
if (!enabled_tls_testing() && supports_drop_priv()) {
Packit Service 584ef9
    plan tests => 1;
Packit Service 584ef9
} else {
Packit Service 584ef9
    plan skip_all => 'Privilege drop not supported';
Packit Service 584ef9
    exit 0;
Packit Service 584ef9
}
Packit Service 584ef9
Packit Service 584ef9
my $server = new_memcached('-o drop_privileges');
Packit Service 584ef9
my $sock = $server->sock;
Packit Service 584ef9
Packit Service 584ef9
print $sock "misbehave\r\n";
Packit Service 584ef9
sleep(1);
Packit Service 584ef9
Packit Service 584ef9
# check if the socket is dead now
Packit Service 584ef9
my $buff;
Packit Service 584ef9
my $ret = recv($sock, $buff, 1, MSG_PEEK | MSG_DONTWAIT);
Packit Service 584ef9
# ret = 0 means read 0 bytes, which means a closed socket
Packit Service 584ef9
ok($ret == 0, "did not allow misbehaving");
Packit Service 584ef9
Packit Service 584ef9
$server->DESTROY();