mariadb/mysql-test/t/maria-recovery-big.test
unknown 0543c5f028 Minor test fixes
mysql-test/include/wait_until_connected_again.inc:
  On Windows, mysqladmin does not wait on pid file when it has shut down
  mysqld. Thus, in maria_empty_logs.inc, wait_until_connected_again.inc
  can run while mysqld is shutting down (has not finished) and so
  get "shutdown in progress" instead of "can't connect".
mysql-test/t/maria-recovery-big.test:
  it is a big test
storage/maria/unittest/ma_test_recovery.pl:
  We want to see the result of 'cmp', like in the shell version
2008-02-04 22:12:57 +01:00

69 lines
2 KiB
Text

# Maria recovery test which cannot run in shared memory
# because it generates too much data, or which takes a lot of time.
--source include/not_embedded.inc
# Don't test this under valgrind, memory leaks will occur as we crash
--source include/not_valgrind.inc
# Binary must be compiled with debug for crash to occur
--source include/have_debug.inc
--source include/have_maria.inc
--source include/big_test.inc
set global maria_log_file_size=4294967295;
--disable_warnings
drop database if exists mysqltest;
--enable_warnings
create database mysqltest;
# Include scripts can perform SQL. For it to not influence the main test
# they use a separate connection. This way if they use a DDL it would
# not autocommit in the main test.
connect (admin, 127.0.0.1, root,,mysqltest,,);
--enable_reconnect
connection default;
use mysqltest;
--enable_reconnect
#
# Test with big blobs
#
--echo * TEST of recovery with blobs
-- source include/maria_empty_logs.inc
set @@max_allowed_packet=32000000;
create table t1 (a int, b longtext) engine=maria table_checksum=1;
let $mms_tables=1;
-- source include/maria_make_snapshot_for_feeding_recovery.inc
insert into t1 values (1,"123456789012345678901234567890"),(2,"09876543210987654321");
-- source include/maria_make_snapshot_for_comparison.inc
lock table t1 write;
let $loop=20;
while ($loop)
{
update t1 set b=CONCAT(b,b);
dec $loop;
}
select a,length(b) from t1;
let $loop=22;
while ($loop)
{
update t1 set b=mid(b,1,length(b)/2);
dec $loop;
}
select a,length(b) from t1;
# we want recovery to run on the first snapshot made above
let $mvr_restore_old_snapshot=1;
let $mms_compare_physically=0;
let $mvr_debug_option="+d,maria_flush_whole_log,maria_crash";
let $mvr_crash_statement= set global maria_checkpoint_interval=1;
-- source include/maria_verify_recovery.inc
drop table t1;
# clean up everything
let $mms_purpose=feeding_recovery;
eval drop database mysqltest_for_$mms_purpose;
let $mms_purpose=comparison;
eval drop database mysqltest_for_$mms_purpose;
drop database mysqltest;