~jmuc/percona-toolkit/float-log-precision

« back to all changes in this revision

Viewing changes to t/pt-upgrade/diff_query_times.t

  • Committer: Daniel Nichter
  • Date: 2013-03-12 15:21:13 UTC
  • mfrom: (507.1.37 pt-upgrade-2.2)
  • Revision ID: daniel@percona.com-20130312152113-jfkrxi3p8ca84oin
Merge pt-upgrade-2.2.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/perl
 
2
 
 
3
BEGIN {
 
4
   die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n"
 
5
      unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH};
 
6
   unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib";
 
7
};
 
8
 
 
9
use strict;
 
10
use warnings FATAL => 'all';
 
11
use English qw(-no_match_vars);
 
12
use Test::More;
 
13
use Data::Dumper;
 
14
 
 
15
use PerconaTest;
 
16
use Sandbox;
 
17
$Data::Dumper::Indent    = 1;
 
18
$Data::Dumper::Sortkeys  = 1;
 
19
$Data::Dumper::Quotekeys = 0;
 
20
 
 
21
require "$trunk/bin/pt-upgrade";
 
22
 
 
23
sub test_diff_query_times {
 
24
   my (%args) = @_;
 
25
 
 
26
   my $diff = pt_upgrade::diff_query_times(
 
27
      query_time1 => $args{t1},
 
28
      query_time2 => $args{t2},
 
29
   );
 
30
   is_deeply(
 
31
      $diff,
 
32
      $args{expect},
 
33
      "$args{t1} vs. $args{t2}"
 
34
   ) or diag(Dumper($diff));
 
35
}
 
36
 
 
37
test_diff_query_times(
 
38
   t1     => 0,
 
39
   t2     => 0,
 
40
   expect => undef,
 
41
);
 
42
 
 
43
test_diff_query_times(
 
44
   t1     => 1,
 
45
   t2     => 1,
 
46
   expect => undef,
 
47
);
 
48
 
 
49
test_diff_query_times(
 
50
   t1     => 0.01,
 
51
   t2     => 0.5,
 
52
   expect => ['0.01', '0.5', '50.0'],
 
53
);
 
54
 
 
55
test_diff_query_times(
 
56
   t1     => 23,
 
57
   t2     => 82,
 
58
   expect => undef,
 
59
);
 
60
 
 
61
test_diff_query_times(
 
62
   t1     => 23,
 
63
   t2     => 820,
 
64
   expect => [ 23, 820, 35.7 ],
 
65
);
 
66
 
 
67
# Just .01 shy of 1 order of mag. diff.
 
68
test_diff_query_times(
 
69
   t1     => 0.09,
 
70
   t2     => 0.89,
 
71
   expect => undef,
 
72
);
 
73
 
 
74
# Exactly 1 order of mag. diff.
 
75
test_diff_query_times(
 
76
   t1     => 0.09,
 
77
   t2     => 0.9,
 
78
   expect => [ 0.09, 0.9, '10.0' ],
 
79
);
 
80
 
 
81
# An order of mag. decrease, which is ok.
 
82
test_diff_query_times(
 
83
   t1     => 0.9,
 
84
   t2     => 0.09,
 
85
   expect => undef,
 
86
);
 
87
 
 
88
# #############################################################################
 
89
# Done.
 
90
# #############################################################################
 
91
done_testing;