mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-26 15:31:55 +00:00
Add forked Maatkit tools in bin/ and their tests in t/.
This commit is contained in:
147
t/pt-query-digest/verify_run_time.t
Normal file
147
t/pt-query-digest/verify_run_time.t
Normal file
@@ -0,0 +1,147 @@
|
||||
#!/usr/bin/env perl
|
||||
|
||||
BEGIN {
|
||||
die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n"
|
||||
unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH};
|
||||
unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib";
|
||||
};
|
||||
|
||||
use strict;
|
||||
use warnings FATAL => 'all';
|
||||
use English qw(-no_match_vars);
|
||||
use Test::More tests => 18;
|
||||
|
||||
use MaatkitTest;
|
||||
shift @INC; # our unshift (above)
|
||||
shift @INC; # MaatkitTest's unshift
|
||||
require "$trunk/bin/pt-query-digest";
|
||||
|
||||
my $m = 60;
|
||||
my $h = 3600;
|
||||
my $d = 86400;
|
||||
|
||||
sub verify {
|
||||
my ( $mode, $time ) = @_;
|
||||
my $boundary;
|
||||
eval {
|
||||
$boundary = mk_query_digest::verify_run_time(
|
||||
run_mode => $mode,
|
||||
run_time => $time,
|
||||
);
|
||||
};
|
||||
return $EVAL_ERROR if $EVAL_ERROR;
|
||||
return $boundary;
|
||||
}
|
||||
|
||||
is(
|
||||
verify('clock', 60),
|
||||
undef,
|
||||
"clock 60s"
|
||||
);
|
||||
|
||||
is(
|
||||
verify('event', 60),
|
||||
undef,
|
||||
"event 60s"
|
||||
);
|
||||
|
||||
is(
|
||||
verify('interval', 60),
|
||||
$m,
|
||||
"interval 60s"
|
||||
);
|
||||
|
||||
is(
|
||||
verify('interval', 12),
|
||||
$m,
|
||||
"interval 12s"
|
||||
);
|
||||
|
||||
is(
|
||||
verify('interval', 2*60),
|
||||
$h,
|
||||
"interval 2m"
|
||||
);
|
||||
|
||||
is(
|
||||
verify('interval', 60*60),
|
||||
$h,
|
||||
"interval 1h"
|
||||
);
|
||||
|
||||
is(
|
||||
verify('interval', 60*60*3),
|
||||
$d,
|
||||
"interval 3h"
|
||||
);
|
||||
|
||||
is(
|
||||
verify('interval', 60*60*24),
|
||||
$d,
|
||||
"interval 1d"
|
||||
);
|
||||
|
||||
is(
|
||||
verify('interval', 60*60*24*2),
|
||||
$d*2,
|
||||
"interval 2d"
|
||||
);
|
||||
|
||||
like(
|
||||
verify('foo', 60),
|
||||
qr/Invalid --run-time-mode/,
|
||||
"Invalid run mode"
|
||||
);
|
||||
|
||||
like(
|
||||
verify('event', -1),
|
||||
qr/--run-time must be greater than zero/,
|
||||
"event -1s invalid"
|
||||
);
|
||||
|
||||
is(
|
||||
verify('event', 0),
|
||||
undef,
|
||||
"event 0 invalid"
|
||||
);
|
||||
|
||||
like(
|
||||
verify('interval', -1),
|
||||
qr/--run-time must be greater than zero/,
|
||||
"interval -1s invalid"
|
||||
);
|
||||
|
||||
like(
|
||||
verify('interval', 0),
|
||||
qr/--run-time must be greater than zero/,
|
||||
"interval 0 invalid"
|
||||
);
|
||||
|
||||
like(
|
||||
verify('interval', 7),
|
||||
qr/Invalid --run-time argument/,
|
||||
"interval 7s invalid"
|
||||
);
|
||||
|
||||
like(
|
||||
verify('interval', 7*60),
|
||||
qr/Invalid --run-time argument/,
|
||||
"interval 7m invalid"
|
||||
);
|
||||
|
||||
like(
|
||||
verify('interval', 61*60),
|
||||
qr/Invalid --run-time argument/,
|
||||
"interval 61m invalid"
|
||||
);
|
||||
|
||||
like(
|
||||
verify('interval', 60*60*25),
|
||||
qr/Invalid --run-time argument/,
|
||||
"interval 25h invalid"
|
||||
);
|
||||
|
||||
# #############################################################################
|
||||
# Done.
|
||||
# #############################################################################
|
||||
exit;
|
Reference in New Issue
Block a user