mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
b55c18a1fb
- Make mysql-test-run.pl restart a crashed/stopped process if it was expected it should crash. - Added testcase for "crash_commit_before", which tests behaviour when server crashes just before commit. * The testcase first write a small var/tmp/master0.expect file indicating expected crash * Then sets "DEBUG" variable to for example "d,crash_commit_before" and then executes a commit. * The server will crash and be brought back up by mysql-test-run.pl * Test case will then wait for the process to come back online before continuing. client/mysqltest.c: Add "die" command used to abort a failing test case Remove unused "exit" command mysql-test/lib/mtr_process.pl: When a process crash during execution of mysqltest, check if it was expected and restart the process in that case. mysql-test/mysql-test-run.pl: Remmeber options used when ndbd's and mysqld's was started, to be used by restart code mysql-test/r/crash_commit_before.result: New BitKeeper file ``mysql-test/r/crash_commit_before.result'' mysql-test/include/wait_until_connected_again.inc: New BitKeeper file ``mysql-test/include/wait_until_connected_again.inc'' mysql-test/t/crash_commit_before.test: New BitKeeper file ``mysql-test/t/crash_commit_before.test''
22 lines
548 B
Text
22 lines
548 B
Text
--source include/have_debug.inc
|
|
|
|
CREATE TABLE t1(a int) engine=innodb;
|
|
START TRANSACTION;
|
|
insert into t1 values(9);
|
|
|
|
# Setup the mysqld to crash at certain point
|
|
SET SESSION debug="d,crash_commit_before";
|
|
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/master0.expect
|
|
|
|
# Run the crashing query
|
|
--error 2013
|
|
COMMIT;
|
|
|
|
# Call script that will poll the server waiting for it to be back online again
|
|
--source include/wait_until_connected_again.inc
|
|
|
|
SHOW CREATE TABLE t1;
|
|
|
|
SELECT * FROM t1;
|