Fix pt-table-checksum/basics.t to work with new percona_test db.

This commit is contained in:
Daniel Nichter
2012-06-05 15:00:25 -07:00
parent 9fb8601267
commit b4c4c2c85e
3 changed files with 23 additions and 15 deletions

View File

@@ -29,12 +29,13 @@ require "$trunk/bin/pt-table-checksum";
my $dp = new DSNParser(opts=>$dsn_opts);
my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp);
my $master_dbh = $sb->get_dbh_for('master');
my $slave_dbh = $sb->get_dbh_for('slave1');
my $slave1_dbh = $sb->get_dbh_for('slave1');
my $slave2_dbh = $sb->get_dbh_for('slave2');
if ( !$master_dbh ) {
plan skip_all => 'Cannot connect to sandbox master';
}
elsif ( !$slave_dbh ) {
elsif ( !$slave1_dbh ) {
plan skip_all => 'Cannot connect to sandbox slave1';
}
elsif ( !@{$master_dbh->selectall_arrayref('show databases like "sakila"')} ) {
@@ -113,14 +114,18 @@ ok(
$row = $master_dbh->selectrow_arrayref("select count(*) from percona.checksums");
is(
$row->[0],
($sandbox_version gt "5.1" ? 87 : $sandbox_version gt "5.0" ? 86 : 82),
( $sandbox_version gt "5.1" ? 88
: $sandbox_version gt "5.0" ? 87
: 83),
'86 checksums on master'
);
$row = $slave_dbh->selectrow_arrayref("select count(*) from percona.checksums");
$row = $slave1_dbh->selectrow_arrayref("select count(*) from percona.checksums");
is(
$row->[0],
($sandbox_version gt "5.1" ? 87 : $sandbox_version gt "5.0" ? 86 : 82),
( $sandbox_version gt "5.1" ? 88
: $sandbox_version gt "5.0" ? 87
: 83),
'86 checksums on slave'
);
@@ -129,8 +134,8 @@ is(
# ############################################################################
# Make one row on the slave differ.
$row = $slave_dbh->selectrow_arrayref("select city, last_update from sakila.city where city_id=1");
$slave_dbh->do("update sakila.city set city='test' where city_id=1");
$row = $slave1_dbh->selectrow_arrayref("select city, last_update from sakila.city where city_id=1");
$slave1_dbh->do("update sakila.city set city='test' where city_id=1");
$exit_status = pt_table_checksum::main(@args,
qw(--quiet --quiet -t sakila.city));
@@ -151,7 +156,7 @@ is(
);
# Restore the row on the slave, else other tests will fail.
$slave_dbh->do("update sakila.city set city='$row->[0]', last_update='$row->[1]' where city_id=1");
$slave1_dbh->do("update sakila.city set city='$row->[0]', last_update='$row->[1]' where city_id=1");
# #############################################################################
# --[no]empty-replicate-table
@@ -197,7 +202,8 @@ is_deeply(
$exit_status = pt_table_checksum::main(@args,
qw(--quiet --quiet --chunk-time 0 --chunk-size 100 -t sakila.city));
$slave_dbh->do("update percona.checksums set this_crc='' where db='sakila' and tbl='city' and (chunk=1 or chunk=6)");
$slave1_dbh->do("update percona.checksums set this_crc='' where db='sakila' and tbl='city' and (chunk=1 or chunk=6)");
PerconaTest::wait_for_table($slave2_dbh, "percona.checksums", "db='sakila' and tbl='city' and (chunk=1 or chunk=6) and thic_crc=''");
ok(
no_diff(
@@ -258,7 +264,7 @@ is(
# ############################################################################
$master_dbh->do('truncate table percona.checksums');
$sb->load_file('master', "t/pt-table-checksum/samples/3tbl-resume.sql");
PerconaTest::wait_for_table($slave_dbh, 'test.t3', "id=26");
PerconaTest::wait_for_table($slave1_dbh, 'test.t3', "id=26");
$master_dbh->do('set sql_log_bin=0');
$master_dbh->do('truncate table test.t1');
@@ -284,7 +290,7 @@ is_deeply(
);
is_deeply(
$slave_dbh->selectall_arrayref("select distinct tbl from percona.checksums where db='test'"),
$slave1_dbh->selectall_arrayref("select distinct tbl from percona.checksums where db='test'"),
[ ['t2'], ['t3'] ],
"Does not checksum large slave table on slave"
);