mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-10 21:19:59 +00:00
148 lines
2.3 KiB
Perl
148 lines
2.3 KiB
Perl
#!/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 PerconaTest;
|
|
shift @INC; # our unshift (above)
|
|
shift @INC; # PerconaTest'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 = pt_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;
|