16
16
use Time::HiRes qw(sleep time);
18
19
# #########################################################################
19
20
# Issue 226: Fix mk-query-digest signal handling
20
21
# #########################################################################
21
diag(`rm -rf /tmp/mqd.pid`);
23
my ($start, $end, $waited);
24
my $timeout = wait_for(
27
`$trunk/bin/pt-query-digest --read-timeout 2 --pid /tmp/mqd.pid 2>/dev/null`;
33
$waited = $end - $start;
35
# mqd ran longer than --read-timeout
36
my $pid = `cat /tmp/mqd.pid`;
22
my $pid_file = '/tmp/mqd.pid';
23
my $fifo = '/tmp/mqd.fifo';
24
unlink $pid_file and diag("Unlinking existing $pid_file");
25
unlink $fifo and diag("Unlinking existing $fifo");
27
my ($start, $end, $waited, $timeout);
29
skip("Not connected to a tty won't test --read-timeout with STDIN", 1)
36
`$trunk/bin/pt-query-digest --read-timeout 2 --pid $pid_file 2>/dev/null`;
42
$waited = $end - $start;
44
# mqd ran longer than --read-timeout
45
chomp(my $pid = slurp_file($pid_file));
46
kill SIGTERM => $pid if $pid;
50
$waited >= 2 && int($waited) <= 4,
51
sprintf("--read-timeout 2 waited %.1f seconds reading STDIN", $waited)
41
$waited >= 2 && $waited < 4,
42
sprintf("--read-timeout 2 waited %.1f seconds reading STDIN", $waited)
45
diag(`rm -rf /tmp/mqd.pid`);
46
diag(`rm -rf /tmp/mqd.fifo; mkfifo /tmp/mqd.fifo`);
47
system("$trunk/t/pt-query-digest/samples/write-to-fifo.pl /tmp/mqd.fifo 4 &");
57
system("$trunk/t/pt-query-digest/samples/write-to-fifo.pl $fifo 4 &");
49
59
$timeout = wait_for(
52
`$trunk/bin/pt-query-digest --read-timeout 2 --pid /tmp/mqd.pid /tmp/mqd.fifo`;
62
`$trunk/bin/pt-query-digest --read-timeout 2 --pid $pid_file $fifo`;
58
68
$waited = $end - $start;
60
70
# mqd ran longer than --read-timeout
61
my $pid = `cat /tmp/mqd.pid`;
71
chomp(my $pid = slurp_file($pid_file));
72
kill SIGTERM => $pid if $pid;
66
$waited >= 2 && $waited < 4,
76
$waited >= 2 && int($waited) <= 4,
67
77
sprintf("--read-timeout waited %.1f seconds reading a file", $waited)
70
diag(`rm -rf /tmp/mqd.pid`);
71
diag(`rm -rf /tmp/mqd.fifo`);
73
83
# #############################################################################