mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-11 05:29:30 +00:00
Fix pt-table-checksum/basics.t to work with new percona_test db.
This commit is contained in:
@@ -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"
|
||||
);
|
||||
|
Reference in New Issue
Block a user