#!/bin/bash

echo ddl_test start

export tidb_manager_ttl=5
echo tidb_manager_ttl
echo $tidb_manager_ttl

if [[ -z "${TIDB_SERVER_PATH}" || ! -e ${TIDB_SERVER_PATH} ]]; then
    echo -e "no tidb-server was found, build from source code"
    # This is likely to be failed, depending on whether tidb parser is well set up
    GO111MODULE=on go build -o ddltest_tidb-server github.com/pingcap/tidb/tidb-server
    TIDB_SERVER_PATH=./ddltest_tidb-server
fi

rm -rf ./ddltest/tidb_log_file_*

if [[ -z "${DDLTEST_PATH}" || ! -e ${DDLTEST_PATH} ]]; then
    echo -e "no ddltest was found, build from source code"
    echo "GOPATH=$GOPATH"
    GO111MODULE=on go test -c -o ddltest github.com/pingcap/tidb/cmd/ddltest
    DDLTEST_PATH=./ddltest
fi

${DDLTEST_PATH} -test.count=1 -test.timeout 60m -test.v $@

EXIT_CODE=$?

echo ddl_test end
grep 'DATA RACE' ./ddltest/tidb_log_file_* &>/dev/null
if [ $? -eq 0 ]; then
    echo "ERROR: DATA RACE Found!"
    grep -A 10 -B 20 'DATA RACE' ./ddltest/tidb_log_file_*
    EXIT_CODE=-2
    exit $EXIT_CODE
fi

exit $EXIT_CODE
