#!/bin/bash

echo "jdbc 8 local test start"

LOCAL_TIDB_LOG="local_tidb_jdbc8.log"
TIDB_SERVER_PATH="${HOME}/tidb/bin/tidb-server"

echo "starting tidb-servers, log file: ${LOCAL_TIDB_LOG}"
# using fast_config.toml config file
${TIDB_SERVER_PATH} -config tls_config.toml -store unistore -path "" -lease 0s > ${LOCAL_TIDB_LOG} 2>&1 &
FAST_SERVER_PID=$!
sleep 5
echo "tidb-server(PID: ${FAST_SERVER_PID}) started"

# when exit clean

trap 'kill ${FAST_SERVER_PID}' EXIT

mysql -u root -h 127.0.0.1 -P 4003 -e "SET GLOBAL tidb_enable_noop_functions = 1;"

# start test
mvn '-Dtest=TLSConnectionTest' '-DTIDBPORT=4003' test
EXIT_CODE=$?

# handle test results
if [ ${EXIT_CODE} -ne 0 ]
then
	echo "ERROR: jdbc 8 test failed!"
	echo "=========== ERROR EXIT [${EXIT_CODE}]: FULL tidb.log BEGIN ============"
	cat ${LOCAL_TIDB_LOG}
	echo "=========== ERROR EXIT [${EXIT_CODE}]: FULL tidb.log END =============="
	exit 1
fi

# handle race
RACE_RET=`grep 'DATA RACE' ${LOCAL_TIDB_LOG} || true`
if [ -n "${RACE_RET}" ]
then
	echo "tidb-server DATA RACE!"
	cat ${LOCAL_TIDB_LOG}
	exit 1
fi
