mirror of
https://github.com/MariaDB/server.git
synced 2026-04-23 08:45:33 +02:00
Simplify innodb.innochecksum test.
There already are ROW_FORMAT=COMPRESSED tests in innodb_zip.innochecksum_2. Use shutdown_mysqld.inc and start_mysqld.inc.
This commit is contained in:
parent
abf7582112
commit
5a21094a43
2 changed files with 9 additions and 68 deletions
|
|
@ -1,22 +1,5 @@
|
||||||
# Create and populate a table
|
|
||||||
CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB;
|
CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB;
|
||||||
INSERT INTO t1 (b) VALUES ('corrupt me');
|
INSERT INTO t1 (b) VALUES ('corrupt me');
|
||||||
INSERT INTO t1 (b) VALUES ('corrupt me');
|
INSERT INTO t1 (b) VALUES ('corrupt me');
|
||||||
CREATE TABLE t2 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT)
|
|
||||||
ROW_FORMAT=COMPRESSED ENGINE=InnoDB ;
|
|
||||||
INSERT INTO t2(b) SELECT b from t1;
|
|
||||||
CREATE TABLE t3 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT)
|
|
||||||
ROW_FORMAT=COMPRESSED ENGINE=InnoDB KEY_BLOCK_SIZE=16;
|
|
||||||
INSERT INTO t3(b) SELECT b from t1;
|
|
||||||
# Write file to make mysql-test-run.pl expect the "crash", but don't
|
|
||||||
# start it until it's told to
|
|
||||||
# We give 30 seconds to do a clean shutdown because we do not want
|
|
||||||
# to redo apply the pages of t1.ibd at the time of recovery.
|
|
||||||
# We want SQL to initiate the first access to t1.ibd.
|
|
||||||
# Wait until disconnected.
|
|
||||||
# Run innochecksum on t1
|
# Run innochecksum on t1
|
||||||
# Run innochecksum on t2
|
DROP TABLE t1;
|
||||||
# Run innochecksum on t3
|
|
||||||
# Write file to make mysql-test-run.pl start up the server again
|
|
||||||
# Cleanup
|
|
||||||
DROP TABLE t1, t2, t3;
|
|
||||||
|
|
|
||||||
|
|
@ -2,17 +2,10 @@
|
||||||
# Test innochecksum
|
# Test innochecksum
|
||||||
#
|
#
|
||||||
|
|
||||||
# Don't test under embedded
|
--source include/have_innodb.inc
|
||||||
source include/not_embedded.inc;
|
# Embedded server test does not support restarting
|
||||||
# Require InnoDB
|
--source include/not_embedded.inc
|
||||||
source include/have_innodb.inc;
|
|
||||||
|
|
||||||
if (!$INNOCHECKSUM) {
|
|
||||||
--echo Need innochecksum binary
|
|
||||||
--die Need innochecksum binary
|
|
||||||
}
|
|
||||||
|
|
||||||
--echo # Create and populate a table
|
|
||||||
CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB;
|
CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB;
|
||||||
INSERT INTO t1 (b) VALUES ('corrupt me');
|
INSERT INTO t1 (b) VALUES ('corrupt me');
|
||||||
--disable_query_log
|
--disable_query_log
|
||||||
|
|
@ -25,50 +18,15 @@ while ($i)
|
||||||
--enable_query_log
|
--enable_query_log
|
||||||
INSERT INTO t1 (b) VALUES ('corrupt me');
|
INSERT INTO t1 (b) VALUES ('corrupt me');
|
||||||
|
|
||||||
CREATE TABLE t2 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT)
|
|
||||||
ROW_FORMAT=COMPRESSED ENGINE=InnoDB ;
|
|
||||||
|
|
||||||
INSERT INTO t2(b) SELECT b from t1;
|
|
||||||
|
|
||||||
CREATE TABLE t3 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT)
|
|
||||||
ROW_FORMAT=COMPRESSED ENGINE=InnoDB KEY_BLOCK_SIZE=16;
|
|
||||||
|
|
||||||
INSERT INTO t3(b) SELECT b from t1;
|
|
||||||
|
|
||||||
let $MYSQLD_DATADIR=`select @@datadir`;
|
let $MYSQLD_DATADIR=`select @@datadir`;
|
||||||
let t1_IBD = $MYSQLD_DATADIR/test/t1.ibd;
|
|
||||||
let t2_IBD = $MYSQLD_DATADIR/test/t2.ibd;
|
|
||||||
let t3_IBD = $MYSQLD_DATADIR/test/t3.ibd;
|
|
||||||
|
|
||||||
--echo # Write file to make mysql-test-run.pl expect the "crash", but don't
|
--source include/shutdown_mysqld.inc
|
||||||
--echo # start it until it's told to
|
|
||||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
|
||||||
|
|
||||||
--echo # We give 30 seconds to do a clean shutdown because we do not want
|
|
||||||
--echo # to redo apply the pages of t1.ibd at the time of recovery.
|
|
||||||
--echo # We want SQL to initiate the first access to t1.ibd.
|
|
||||||
shutdown_server 30;
|
|
||||||
|
|
||||||
--echo # Wait until disconnected.
|
|
||||||
--source include/wait_until_disconnected.inc
|
|
||||||
|
|
||||||
--echo # Run innochecksum on t1
|
--echo # Run innochecksum on t1
|
||||||
-- disable_result_log
|
--disable_result_log
|
||||||
--exec $INNOCHECKSUM $t1_IBD
|
--exec $INNOCHECKSUM $MYSQLD_DATADIR/test/t1.ibd
|
||||||
|
|
||||||
--echo # Run innochecksum on t2
|
|
||||||
|
|
||||||
--exec $INNOCHECKSUM $t2_IBD
|
|
||||||
|
|
||||||
--echo # Run innochecksum on t3
|
|
||||||
|
|
||||||
--exec $INNOCHECKSUM $t3_IBD
|
|
||||||
--enable_result_log
|
--enable_result_log
|
||||||
|
|
||||||
--echo # Write file to make mysql-test-run.pl start up the server again
|
--source include/start_mysqld.inc
|
||||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
|
||||||
--enable_reconnect
|
|
||||||
--source include/wait_until_connected_again.inc
|
|
||||||
|
|
||||||
--echo # Cleanup
|
DROP TABLE t1;
|
||||||
DROP TABLE t1, t2, t3;
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue