Blame t/misbehave.t

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