1#!/usr/bin/env perl 2 3use strict; 4use Test::More tests => 7; 5use FindBin qw($Bin); 6use lib "$Bin/lib"; 7use MemcachedTest; 8 9use File::Temp qw(tempfile); 10 11my (undef, $tmpfn) = tempfile(); 12 13my $server = new_memcached("-d -P $tmpfn"); 14my $sock = $server->sock; 15sleep 0.5; 16 17ok(-e $tmpfn, "pid file exists"); 18ok(-s $tmpfn, "pid file has length"); 19 20open (my $fh, $tmpfn) or die; 21my $readpid = do { local $/; <$fh>; }; 22chomp $readpid; 23close ($fh); 24 25ok(kill(0, $readpid), "process is still running"); 26 27my $stats = mem_stats($sock); 28is($stats->{pid}, $readpid, "memcached reports same pid as file"); 29 30ok($server->new_sock, "opened new socket"); 31ok(kill(9, $readpid), "sent KILL signal"); 32sleep 0.5; 33ok(! $server->new_sock, "failed to open new socket"); 34