supporting customized 'order by' in tests
This commit is contained in:
parent
8d8ef34c23
commit
36a66e0c05
22
localtests/fail-drop-pk/create.sql
Normal file
22
localtests/fail-drop-pk/create.sql
Normal file
@ -0,0 +1,22 @@
|
||||
drop table if exists gh_ost_test;
|
||||
create table gh_ost_test (
|
||||
id int auto_increment,
|
||||
i int not null,
|
||||
ts timestamp,
|
||||
primary key(id)
|
||||
) auto_increment=1;
|
||||
|
||||
drop event if exists gh_ost_test;
|
||||
delimiter ;;
|
||||
create event gh_ost_test
|
||||
on schedule every 1 second
|
||||
starts current_timestamp
|
||||
ends current_timestamp + interval 60 second
|
||||
on completion not preserve
|
||||
enable
|
||||
do
|
||||
begin
|
||||
insert into gh_ost_test values (null, 11, now());
|
||||
insert into gh_ost_test values (null, 13, now());
|
||||
insert into gh_ost_test values (null, 17, now());
|
||||
end ;;
|
1
localtests/fail-drop-pk/expect_failure
Normal file
1
localtests/fail-drop-pk/expect_failure
Normal file
@ -0,0 +1 @@
|
||||
No PRIMARY nor UNIQUE key found in table
|
1
localtests/fail-drop-pk/extra_args
Normal file
1
localtests/fail-drop-pk/extra_args
Normal file
@ -0,0 +1 @@
|
||||
--alter="change id id int, drop primary key"
|
@ -49,7 +49,7 @@ test_single() {
|
||||
echo -n "Testing: $test_name"
|
||||
|
||||
echo_dot
|
||||
gh-ost-test-mysql-replica -e "start slave"
|
||||
gh-ost-test-mysql-replica -e "stop slave; start slave; do sleep(1)"
|
||||
echo_dot
|
||||
gh-ost-test-mysql-master --default-character-set=utf8mb4 test < $tests_path/$test_name/create.sql
|
||||
|
||||
@ -59,12 +59,16 @@ test_single() {
|
||||
fi
|
||||
orig_columns="*"
|
||||
ghost_columns="*"
|
||||
order_by=""
|
||||
if [ -f $tests_path/$test_name/orig_columns ] ; then
|
||||
orig_columns=$(cat $tests_path/$test_name/orig_columns)
|
||||
fi
|
||||
if [ -f $tests_path/$test_name/ghost_columns ] ; then
|
||||
ghost_columns=$(cat $tests_path/$test_name/ghost_columns)
|
||||
fi
|
||||
if [ -f $tests_path/$test_name/order_by ] ; then
|
||||
order_by="order by $(cat $tests_path/$test_name/order_by)"
|
||||
fi
|
||||
# graceful sleep for replica to catch up
|
||||
echo_dot
|
||||
sleep 1
|
||||
@ -129,8 +133,8 @@ test_single() {
|
||||
fi
|
||||
|
||||
echo_dot
|
||||
orig_checksum=$(gh-ost-test-mysql-replica --default-character-set=utf8mb4 test -e "select ${orig_columns} from gh_ost_test" -ss | md5sum)
|
||||
ghost_checksum=$(gh-ost-test-mysql-replica --default-character-set=utf8mb4 test -e "select ${ghost_columns} from _gh_ost_test_gho" -ss | md5sum)
|
||||
orig_checksum=$(gh-ost-test-mysql-replica --default-character-set=utf8mb4 test -e "select ${orig_columns} from gh_ost_test ${order_by}" -ss | md5sum)
|
||||
ghost_checksum=$(gh-ost-test-mysql-replica --default-character-set=utf8mb4 test -e "select ${ghost_columns} from _gh_ost_test_gho ${order_by}" -ss | md5sum)
|
||||
|
||||
if [ "$orig_checksum" != "$ghost_checksum" ] ; then
|
||||
echo "ERROR $test_name: checksum mismatch"
|
||||
|
Loading…
Reference in New Issue
Block a user