#!/bin/bash

CURTIMT=`date -d -1day +%d%H%I%M`
PRJ_PATH=$(pwd)
LOG_FILE=${PRJ_PATH}/"gentest.${CURTIME}".log
TEST_FILE_PATH=${PRJ_PATH}/t
TIDB_DSN=$1
MYSQL_DSN=$2
GRAMMAR=$3
GENDATA=$4

DSN_OPTION="--dsn=${TIDB_DSN}"
if [ "${MYSQL_DSN}" != "" ];
then
DSN_OPTION="--dsn1=${TIDB_DSN} --dsn2=${MYSQL_DSN}"
fi

GENDATA_OPTION=""
if [ "${GENDATA}" = "default" ];
then
GENDATA_OPTION="--gendata"
elif [ "${GENDATA}" != "" ];
then
GENDATA_OPTION="--gendata=${TEST_FILE_PATH}/${GENDATA}"
fi

cd randgen
cmd="/opt/perl/bin/perl ./gentest.pl ${DSN_OPTION} --grammar=${TEST_FILE_PATH}/${GRAMMAR} ${GENDATA_OPTION} --thread=1 --sqltrace=MarkErrors --queries=2000"
eval ${cmd} > ${LOG_FILE}

cd ${PRJ_PATH}

mismatch=`grep 'result content mismatch between servers' ${LOG_FILE} || true`
if [ ! -z "$mismatch" ]; then
    echo "result content mismatch, check ${LOG_FILE} for details"
    exit 1
fi
