#!/bin/bash
set +x

echo "mysql-connector-c test start"

MYSQL_CONNECTOR_C_TIDB_LOG="tidb_mysql_connector_c.log"
TIDB_SERVER_PATH="${HOME}/GolandProjects/tidb/bin/tidb-server"

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

# when exit clean
trap 'kill ${SERVER_PID}' EXIT

mysql -u root -h 127.0.0.1 -P 4001 < init.sql

# start test
cd mysql-connector-c
cmake -B cmake-build-debug
cmake --build ./cmake-build-debug --target mysql_client_test -j 6
./cmake-build-debug/testclients/mysql_client_test -h 127.0.0.1 -P 4001 -u root

EXIT_CODE=$?

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