Skip to content

Commit

Permalink
add test
Browse files Browse the repository at this point in the history
  • Loading branch information
lance6716 committed Dec 24, 2021
1 parent b852c15 commit e947cdc
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 1 deletion.
2 changes: 2 additions & 0 deletions dm/tests/_utils/test_prepare
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,9 @@ function run_sql_tidb() {
function run_sql_tidb_with_retry() {
rc=0
for ((k=1; k<11; k++)); do
set +e
run_sql_tidb "$1"
set -e
if grep -Fq "$2" "$TEST_DIR/sql_res.$TEST_NAME.txt"; then
rc=1
break
Expand Down
35 changes: 34 additions & 1 deletion dm/tests/gbk/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,37 @@ source $cur/../_utils/test_prepare
WORK_DIR=$TEST_DIR/$TEST_NAME
TASK_NAME="gbk"

function test_from_tidb() {
cleanup_data_upstream gbk3

# check table can inherited charset from database
run_sql_source1 "use gbk; create table ddl1(b char(20));"
run_sql_tidb_with_retry "show create table gbk.ddl1;" "CHARSET=gbk"

# can't test "create table as select", because it is not supported in GTID mode

# test create table like
run_sql_source1 "use gbk; create table ddl2(a char(20) charset gbk, b char(20) charset utf8mb4);"
run_sql_source1 "use gbk; create table ddl2_copy like ddl2; insert into ddl2_copy values('一二三', '一二三');"
run_sql_tidb_with_retry "select hex(a) from gbk.ddl2_copy;" "D2BBB6FEC8FD"
run_sql_tidb_with_retry "select hex(b) from gbk.ddl2_copy;" "E4B880E4BA8CE4B889"

# test create partition table
run_sql_source1 "use gbk; create table ddl3(id int, a char(20) charset gbk) partition by hash(id) partitions 4;"
run_sql_tidb_with_retry "show create table gbk.ddl3;" "CHARSET=gbk"
run_sql_tidb_with_retry "show create table gbk.ddl3;" "ARTITION BY HASH (\`id\`) PARTITIONS 4"

# test alter database charset
run_sql_source1 "create database gbk3 charset utf8; alter database gbk3 charset gbk;"
run_sql_tidb_with_retry "show create database gbk3;" "CHARACTER SET gbk"
#
# # test alter table charset
# run_sql_source1 "use gbk; create table ddl4(a char(20) charset utf8mb4, b char(20) charset gbk);"
# run_sql_source1 "use gbk; insert into ddl4 values('一二三', '一二三'); alter table ddl4 modify a varchar(20) charset gbk;"
# run_sql_tidb_with_retry "select hex(a) from gbk.ddl4;" "D2BBB6FEC8FD"
# run_sql_tidb_with_retry "select hex(b) from gbk.ddl4;" "D2BBB6FEC8FD"
}

function run() {
run_dm_master $WORK_DIR/master $MASTER_PORT $cur/conf/dm-master.toml
check_rpc_alive $cur/../bin/check_master_online 127.0.0.1:$MASTER_PORT
Expand Down Expand Up @@ -36,9 +67,11 @@ function run() {

echo "check incremental phase"
check_sync_diff $WORK_DIR $cur/conf/diff_config.toml

test_from_tidb
}

cleanup_data gbk gbk2
cleanup_data gbk gbk2 gbk3
# also cleanup dm processes in case of last run failed
cleanup_process $*
run $*
Expand Down

0 comments on commit e947cdc

Please sign in to comment.