~percona-toolkit-dev/percona-toolkit/mysql-5.6-test-fixes

« back to all changes in this revision

Viewing changes to t/pt-table-checksum/issue_1182.t

  • Committer: Daniel Nichter
  • Date: 2011-06-24 22:02:05 UTC
  • Revision ID: daniel@percona.com-20110624220205-e779cao9hcwyly1w
Add forked Maatkit tools in bin/ and their tests in t/.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env 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
 
 
14
use MaatkitTest;
 
15
use Sandbox;
 
16
require "$trunk/bin/pt-table-checksum";
 
17
 
 
18
my $dp  = new DSNParser(opts=>$dsn_opts);
 
19
my $sb  = new Sandbox(basedir => '/tmp', DSNParser => $dp);
 
20
my $dbh = $sb->get_dbh_for('master');
 
21
 
 
22
if ( !$dbh ) {
 
23
   plan skip_all => 'Cannot connect to sandbox master';
 
24
}
 
25
elsif ( !@{$dbh->selectcol_arrayref('SHOW DATABASES LIKE "sakila"')} ) {
 
26
   plan skip_all => 'sakila database is not loaded';
 
27
}
 
28
else {
 
29
   plan tests => 1;
 
30
}
 
31
 
 
32
my $output;
 
33
my $cnf  = '/tmp/12345/my.sandbox.cnf';
 
34
my $cmd = "$trunk/bin/pt-table-checksum -F $cnf -t sakila.film --chunk-size 100";
 
35
 
 
36
# #############################################################################
 
37
# Issue 1182: mk-table-checksum not respecting chunk size 
 
38
# #############################################################################
 
39
 
 
40
# Unfortunately we don't have a good method for testing that the tool
 
41
# uses the correct chunks.  That's tested directly in TableChunker.t.
 
42
# So here we make sure that --chunk-range doesn't affect anything; it
 
43
# should chunk and checksum identically to not using --chunk-range.
 
44
 
 
45
diag(`rm -rf /tmp/mk-checksum-test-output-?.txt`);
 
46
 
 
47
`$cmd                          >/tmp/mk-table-checksum-test-output-1.txt`;
 
48
`$cmd --chunk-range openclosed >/tmp/mk-table-checksum-test-output-2.txt`;
 
49
 
 
50
is(
 
51
   `diff /tmp/mk-table-checksum-test-output-1.txt /tmp/mk-table-checksum-test-output-2.txt`,
 
52
   "",
 
53
   "--chunk-range does not alter chunks or checksums"
 
54
);
 
55
 
 
56
# #############################################################################
 
57
# Done.
 
58
# #############################################################################
 
59
exit;