mirror of
https://github.com/percona/percona-toolkit.git
synced 2026-04-14 01:00:23 +08:00
Test pt-upgrade host-to-host. Implement diff_query_times(). Export $test_diff from PerconaTest instead of doing diag() in no_diff().
This commit is contained in:
85
t/pt-upgrade/diff_query_times.t
Normal file
85
t/pt-upgrade/diff_query_times.t
Normal file
@@ -0,0 +1,85 @@
|
||||
#!/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 => 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;
|
||||
Reference in New Issue
Block a user