mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-02 10:36:28 +00:00
92 lines
1.7 KiB
Perl
92 lines
1.7 KiB
Perl
#!/usr/bin/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;
|
|
use Data::Dumper;
|
|
|
|
use PerconaTest;
|
|
use Sandbox;
|
|
$Data::Dumper::Indent = 1;
|
|
$Data::Dumper::Sortkeys = 1;
|
|
$Data::Dumper::Quotekeys = 0;
|
|
|
|
require "$trunk/bin/pt-upgrade";
|
|
|
|
sub test_diff_query_times {
|
|
my (%args) = @_;
|
|
|
|
my $diff = pt_upgrade::diff_query_times(
|
|
query_time1 => $args{t1},
|
|
query_time2 => $args{t2},
|
|
);
|
|
is_deeply(
|
|
$diff,
|
|
$args{expect},
|
|
"$args{t1} vs. $args{t2}"
|
|
) or diag(Dumper($diff));
|
|
}
|
|
|
|
test_diff_query_times(
|
|
t1 => 0,
|
|
t2 => 0,
|
|
expect => undef,
|
|
);
|
|
|
|
test_diff_query_times(
|
|
t1 => 1,
|
|
t2 => 1,
|
|
expect => undef,
|
|
);
|
|
|
|
test_diff_query_times(
|
|
t1 => 0.01,
|
|
t2 => 0.5,
|
|
expect => ['0.01', '0.5', '50.0'],
|
|
);
|
|
|
|
test_diff_query_times(
|
|
t1 => 23,
|
|
t2 => 82,
|
|
expect => undef,
|
|
);
|
|
|
|
test_diff_query_times(
|
|
t1 => 23,
|
|
t2 => 820,
|
|
expect => [ 23, 820, 35.7 ],
|
|
);
|
|
|
|
# Just .01 shy of 1 order of mag. diff.
|
|
test_diff_query_times(
|
|
t1 => 0.09,
|
|
t2 => 0.89,
|
|
expect => undef,
|
|
);
|
|
|
|
# Exactly 1 order of mag. diff.
|
|
test_diff_query_times(
|
|
t1 => 0.09,
|
|
t2 => 0.9,
|
|
expect => [ 0.09, 0.9, '10.0' ],
|
|
);
|
|
|
|
# An order of mag. decrease, which is ok.
|
|
test_diff_query_times(
|
|
t1 => 0.9,
|
|
t2 => 0.09,
|
|
expect => undef,
|
|
);
|
|
|
|
# #############################################################################
|
|
# Done.
|
|
# #############################################################################
|
|
done_testing;
|