github.com/pingcap/tiflow@v0.0.0-20240520035814-5bf52d54e205/tests/integration_tests/sequence/run.sh (about) 1 #!/bin/bash 2 3 set -eu 4 5 CUR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) 6 source $CUR/../_utils/test_prepare 7 WORK_DIR=$OUT_DIR/$TEST_NAME 8 CDC_BINARY=cdc.test 9 SINK_TYPE=$1 10 11 function run() { 12 # No need to test kafka and storage sink. 13 if [ "$SINK_TYPE" != "mysql" ]; then 14 return 15 fi 16 17 rm -rf $WORK_DIR && mkdir -p $WORK_DIR 18 19 start_tidb_cluster --workdir $WORK_DIR 20 21 cd $WORK_DIR 22 23 # record tso before we create tables to skip the system table DDLs 24 start_ts=$(cdc cli tso query --pd=http://$UP_PD_HOST_1:$UP_PD_PORT_1) 25 26 run_cdc_server --workdir $WORK_DIR --binary $CDC_BINARY 27 SINK_URI="mysql://normal:123456@127.0.0.1:3306/" 28 run_cdc_cli changefeed create --start-ts=$start_ts --sink-uri="$SINK_URI" --config $CUR/conf/force_replicate.toml 29 30 run_sql_file $CUR/data/test.sql ${UP_TIDB_HOST} ${UP_TIDB_PORT} 31 # sync_diff can't check non-exist table, so we check expected tables are created in downstream first 32 33 check_table_exists sequence_test.t1 ${DOWN_TIDB_HOST} ${DOWN_TIDB_PORT} 34 echo "check table exists success" 35 check_sync_diff $WORK_DIR $CUR/conf/diff_config.toml 60 36 37 # TiCDC discards all SEQUENCE DDL for now. 38 # See https://github.com/pingcap/tiflow/issues/4559 39 ! run_sql "SHOW CREATE SEQUENCE sequence_test.seq0;" ${DOWN_TIDB_HOST} ${DOWN_TIDB_PORT} 40 run_sql "DROP SEQUENCE sequence_test.seq0;" ${UP_TIDB_HOST} ${UP_TIDB_PORT} 41 42 # Make sure changefeed is normal. 43 run_sql "CREATE table sequence_test.mark_table(id int primary key);" ${UP_TIDB_HOST} ${UP_TIDB_PORT} 44 check_table_exists "sequence_test.mark_table" ${DOWN_TIDB_HOST} ${DOWN_TIDB_PORT} 90 45 46 cleanup_process $CDC_BINARY 47 } 48 49 trap stop_tidb_cluster EXIT 50 run $* 51 check_logs $WORK_DIR 52 echo "[$(date)] <<<<<< run test case $TEST_NAME success! >>>>>>"