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 -n "Testing: $test_name"
|
||||||
|
|
||||||
echo_dot
|
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
|
echo_dot
|
||||||
gh-ost-test-mysql-master --default-character-set=utf8mb4 test < $tests_path/$test_name/create.sql
|
gh-ost-test-mysql-master --default-character-set=utf8mb4 test < $tests_path/$test_name/create.sql
|
||||||
|
|
||||||
@ -59,12 +59,16 @@ test_single() {
|
|||||||
fi
|
fi
|
||||||
orig_columns="*"
|
orig_columns="*"
|
||||||
ghost_columns="*"
|
ghost_columns="*"
|
||||||
|
order_by=""
|
||||||
if [ -f $tests_path/$test_name/orig_columns ] ; then
|
if [ -f $tests_path/$test_name/orig_columns ] ; then
|
||||||
orig_columns=$(cat $tests_path/$test_name/orig_columns)
|
orig_columns=$(cat $tests_path/$test_name/orig_columns)
|
||||||
fi
|
fi
|
||||||
if [ -f $tests_path/$test_name/ghost_columns ] ; then
|
if [ -f $tests_path/$test_name/ghost_columns ] ; then
|
||||||
ghost_columns=$(cat $tests_path/$test_name/ghost_columns)
|
ghost_columns=$(cat $tests_path/$test_name/ghost_columns)
|
||||||
fi
|
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
|
# graceful sleep for replica to catch up
|
||||||
echo_dot
|
echo_dot
|
||||||
sleep 1
|
sleep 1
|
||||||
@ -129,8 +133,8 @@ test_single() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo_dot
|
echo_dot
|
||||||
orig_checksum=$(gh-ost-test-mysql-replica --default-character-set=utf8mb4 test -e "select ${orig_columns} from gh_ost_test" -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" -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
|
if [ "$orig_checksum" != "$ghost_checksum" ] ; then
|
||||||
echo "ERROR $test_name: checksum mismatch"
|
echo "ERROR $test_name: checksum mismatch"
|
||||||
|
Loading…
Reference in New Issue
Block a user