#!/bin/bash
function export_ldpath()
{
export LD_LIBRARY_PATH=$2:$LD_LIBRARY_PATH
}
function runscript()
{
if [ ! "X$1" = "X" ]; then
eval $1
echo "$1" >> $CMAKE_BUILD_PATH/runscript.log
fi
if [ ! "X$2" = "X" ]; then
eval $2
echo "$2" >> $CMAKE_BUILD_PATH/runscript.log
fi
if [ ! "X$3" = "X" ]; then
eval $3
echo "$3" >> $CMAKE_BUILD_PATH/runscript.log
fi
if [ ! "X$4" = "X" ]; then
eval $4
echo "$4" >> $CMAKE_BUILD_PATH/runscript.log
fi
}
function before_regresscheck()
{
rm -rf $1/testtablespace
mkdir $1/testtablespace
test -d $1/memcheck/asan/runlog || mkdir -p $1/memcheck/asan/runlog
cp $1/make_fastcheck_postgresql.conf $1/make_fastcheck_postgresql_tmp.conf
mkdir -p $1/tmp
mkdir -p $1/tmp/gs_profile
sed -i "s@unix_socket_directory = '/tmp@unix_socket_directory = '$1/tmp@g" $1/make_fastcheck_postgresql_tmp.conf
export PGHOST=$1/tmp
if [[ ! ${LD_LIBRARY_PATH} =~ ${INSTALLED_PATH}/lib ]]; then
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${INSTALLED_PATH}/lib
fi
if [[ ! ${PATH} =~ ${INSTALLED_PATH}/bin ]]; then
export PATH=$PATH:${INSTALLED_PATH}/bin
fi
}
function set_hotpatch_env()
{
if [ "XX$part" != "XX" ]; then
return
fi
if [ "${SUPPORT_HOTPATCH}" = "no" ]; then
sed -i '/hotpatch/s/test: hotpatch/#test: Hotpatch/g' $ROOT_CODE_PATH/distribute/test/regress/parallel_schedule
return
fi
HOTPATCHDIR="$ROOT_CODE_PATH/distribute/lib/hotpatch"
if [ ! -f "${HOTPATCHDIR}"/tool/fastcheck/patch_tool_llt.sh ]; then
echo "Can not find hotpatch fastcheck tool"
echo "Please clone hotpatch repo and create soft link:"
echo "git clone ssh://git@lfg-y.codehub.huawei.com:2222/Gauss/GaussDBKernel/GaussDBKernel-hotpatch.git"
echo "ln -s <hotpatch-code>/GaussDBKernel-hotpatch/samples/ ${HOTPATCHDIR}/sample"
echo "ln -s <hotpatch-code>/GaussDBKernel-hotpatch/tool/ ${HOTPATCHDIR}/tool"
echo "Can not find hotpatch fastcheck tool"
exit 1
fi
export SERVER_CODE_BASE=$ROOT_CODE_PATH
export PATCHLIB_HOME=$THIRD_PATH/kernel/platform/hotpatch
}
function exception_arm_cases()
{
if [ "${CPU_ARCH}_X" = "aarch64_X" ];then
sed -i '/distribute_setop_1/s/distribute_setop_1/distribute_setop_ARM_1/g' ${1}/${2}
sed -i '/nodegroup_setop_smp_test/s/nodegroup_setop_smp_test/nodegroup_setop_smp_ARM_test/g' ${1}/${2}
sed -i '/nodegroup_setop_test/s/nodegroup_setop_test/nodegroup_setop_ARM_test/g' ${1}/${2}
sed -i '/random_plan/s/random_plan/random_ARM_plan/g' ${1}/${2}
sed -i '/shipping_no_from_list/s/shipping_no_from_list/shipping_no_from_ARM_list/g' ${1}/${2}
sed -i '/test_regex/s/test_regex/test_ARM_regex/g' ${1}/${2}
sed -i '/vec_expression1/s/vec_expression1/vec_expression_ARM1/g' ${1}/${2}
sed -i '/vec_expression2/s/vec_expression2/vec_expression_ARM2/g' ${1}/${2}
sed -i '/xc_copy/s/xc_copy/xc_ARM_copy/g' ${1}/${2}
fi
}
function real_regresscheck_old()
{
set_hotpatch_env
set_common_env $1 $2
echo "regresscheck_old: $pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG --seprate_unix_socket_dir $MAXCONNOPT --regconf=$REGCONF"
$pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG --seprate_unix_socket_dir $MAXCONNOPT --regconf=$REGCONF
}
function real_upgradecheck_single()
{
set_hotpatch_env
set_common_env $1 $2
echo "regresscheck_single: $pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --single_node --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG $MAXCONNOPT --regconf=$REGCONF --data_base_dir=$DATA_BASE_DIR --upgrade_script_dir=$UPGRADE_SCRIPT_DIR --old_bin_dir=\'$OLD_BIN_DIR\' --grayscale_full_mode --upgrade_schedule=$UPGRADE_SCHEDULE --upgrade_from=$UPGRADE_FROM"
$pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --single_node --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG $MAXCONNOPT --regconf=$REGCONF --data_base_dir=$DATA_BASE_DIR --upgrade_script_dir=$UPGRADE_SCRIPT_DIR --old_bin_dir=\'$OLD_BIN_DIR\' --grayscale_full_mode --upgrade_schedule=$UPGRADE_SCHEDULE --upgrade_from=$UPGRADE_FROM
}
function real_regresscheck_single()
{
set_hotpatch_env
set_common_env $1 $2
echo "regresscheck_single: $pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --single_node --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG $MAXCONNOPT --regconf=$REGCONF"
$pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --single_node --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG $MAXCONNOPT --regconf=$REGCONF
}
function real_regresscheck_plugin()
{
set_common_env_plugin $1 $2
echo ..........
echo "$pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --single_node --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG $MAXCONNOPT --regconf=$REGCONF --dbname=contrib_regression --dbcmpt=B dummy"
$pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 --abs_gausshome=\'$PREFIX_HOME\' --single_node --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG $MAXCONNOPT --regconf=$REGCONF --dbname=contrib_regression --dbcmpt=B
}
function real_regresscheck_single_audit()
{
set_hotpatch_env
set_common_env $1 $2
echo "regresscheck_single: $pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --single_node --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG $MAXCONNOPT --regconf=$REGCONF"
$pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --single_node --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG $MAXCONNOPT --regconf=$REGCONF
}
function real_regresscheck_single_ss()
{
set_hotpatch_env
set_common_env $1 $2
if [ -d $TEMP_INSTALL ];then
rm -rf $TEMP_INSTALL
fi
sh ${TOP_DIR}/src/test/ss/conf_start_dss_inst.sh 1 $TEMP_INSTALL ${HOME}/ss_fastcheck_disk
echo "regresscheck_ss_single: $pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --single_node --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG $MAXCONNOPT --regconf=$REGCONF --enable_ss"
$pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --single_node --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG $MAXCONNOPT --regconf=$REGCONF --enable_ss --enable-segment
}
function real_regresscheck_ss()
{
set_hotpatch_env
set_common_env $1 $2
set_cm_env
if [ -d $TEMP_INSTALL ];then
rm -rf $TEMP_INSTALL
fi
sh ${TOP_DIR}/src/test/ss/conf_start_dss_inst.sh 2 $TEMP_INSTALL ${HOME}/ss_fastcheck_disk
echo "regresscheck_ss: $pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --single_node --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG $MAXCONNOPT --regconf=$REGCONF --ss_standby_read"
$pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --single_node --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG $MAXCONNOPT --regconf=$REGCONF --ss_standby_read --enable-segment
}
function real_regresscheck_single_mot()
{
set_common_env $1 $2
echo "regresscheck_single_mot: $pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --single_node --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG $MAXCONNOPT --regconf=$REGCONF"
$pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --single_node --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG $MAXCONNOPT --regconf=$REGCONF
}
function real_regresscheck_ledger()
{
set_common_env $1 $2
echo "regresscheck_ledger: $pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG --seprate_unix_socket_dir $MAXCONNOPT --regconf=$REGCONF"
$pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG --seprate_unix_socket_dir $MAXCONNOPT --regconf=$REGCONF
}
function real_regresscheck_ce()
{
set_hotpatch_env
set_common_env $1 $2
echo "regresscheck_ce: $pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --single_node --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG $MAXCONNOPT --regconf=$REGCONF"
$pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --single_node --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG $MAXCONNOPT --regconf=$REGCONF
}
function real_regresscheck_ce_jdbc()
{
set_hotpatch_env
set_common_env $1 $2
echo "regresscheck_ce_jdbc: $pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG $MAXCONNOPT --regconf=$REGCONF"
$pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --single_node --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG $MAXCONNOPT --regconf=$REGCONF --jdbc
}
function real_regresscheck_policy_plugin()
{
set_hotpatch_env
set_common_env $1 $2
echo "regresscheck_policy_plugin: $pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $PARALLEL_INITDB $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG --seprate_unix_socket_dir $MAXCONNOPT --regconf=$REGCONF"
$pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $PARALLEL_INITDB $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG --seprate_unix_socket_dir $MAXCONNOPT --regconf=$REGCONF
}
function real_regresscheck_decode()
{
set_hotpatch_env
set_common_env $1 $2
echo "regresscheck_decode: $pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $PARALLEL_INITDB $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --single_node --schedule=$SCHEDULE -w --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG $MAXCONNOPT --regconf=$REGCONF"
$pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $PARALLEL_INITDB $3 -b $TEMP_INSTALL --abs_gausshome=\'$PREFIX_HOME\' --single_node --schedule=$SCHEDULE --keep_last_data=$keep_last_data -w --temp-config=$TEMP_CONFIG $MAXCONNOPT --regconf=$REGCONF
}
function real_redischeck()
{
set_common_env $1 $2
echo "redischeck: $pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --schedule=$SCHEDULE --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG --regconf=$REGCONF"
$pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --schedule=$SCHEDULE --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG --regconf=$REGCONF
}
function real_wmlcheck()
{
set_common_env $1 $2
export TMP_USR=$(whoami)
cp /home/$(whoami)/etc/gscgroup_$(whoami).cfg $GAUSSHOME/etc/
if [ $(whoami)x == 'CodeTestCov'x ];then
export WLM_TEST=${GAUSSHOME}
else
export WLM_TEST=${TEMP_INSTALL}
fi
echo "wmlcheck: $pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --schedule=$SCHEDULE --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG --regconf=$REGCONF"
$pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --schedule=$SCHEDULE --keep_last_data=$keep_last_data --temp-config=$TEMP_CONFIG --regconf=$REGCONF
}
function real_2pccheck()
{
set_common_env $1 $2
echo "wmlcheck: $pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --schedule=$SCHEDULE --temp-config=$TEMP_CONFIG --regconf=$REGCONF"
$pg_regress_check --dlpath=$DL_PATH $EXTRA_REGRESS_OPTS $3 -b $TEMP_INSTALL --schedule=$SCHEDULE --temp-config=$TEMP_CONFIG --regconf=$REGCONF
}
function real_hacheck()
{
REGRESS_PATH=$ROOT_CODE_PATH/${OPENGS}/src/test/regress
PGREGRESS_BIN=./${OPENGS}/src/test/regress/pg_regress_single
if [ "${ENABLE_MEMORY_CHECK}" = "ON" ];then
EXTRA_REGRESS_OPTS="--ignore-exitcode --keep-run"
fi
PSQLDIR=${PREFIX_HOME}/bin
REGRESS_OPTS="--dlpath=$PREFIX_HOME/lib ${EXTRA_REGRESS_OPTS}"
REG_CONF="--regconf=$INPUT_DIR/regress.conf"
cd ${REGRESS_PATH}/../ha
sed -i "/export g_base_port=8888/s/export g_base_port=8888/export g_base_port=${p}/g" ${REGRESS_PATH}/../ha/standby_env.sh
ip_list=$(ifconfig | grep 'inet ' | grep -v '127.0.0.1' | cut -d: -f2 | awk '{print $2}')
eth0ip=$(echo $ip_list | awk -F' ' '{print $1}')
eth1ip=$(echo $ip_list | awk -F' ' '{print $2}')
export prefix=$PREFIX_HOME
module=$1
case $module in
hacheck_all)
sh ./run_ha.sh
sh ./run_ha_multi.sh ;;
hacheck_multi_standby)
sh ./run_ha_multi.sh ;;
hacheck_single_all)
sh ./run_ha_single.sh
sh ./run_ha_multi_single.sh
sh ./run_ha_multi_cascade.sh ;;
hacheck_single)
sh ./run_ha_single.sh 1 ${part} ;;
hacheck_decode)
sh ./run_ha_decode_single.sh ;;
hacheck_multi_single)
sh ./run_ha_multi_single.sh 1 ${part}
sh ./run_ha_multi_cascade.sh ;;
hacheck_multi_single_mot)
sh ./run_ha_multi_single_mot.sh 1 ${part}
sh ./run_ha_multi_cascade_mot.sh ;;
hacheck_single_paxos)
sh ./run_paxos_single.sh ;;
hacheck_ss_all)
sh ./run_ha_single_ss.sh ;;
hacheck_single_standby_read)
sh ./run_ha_single_standby_read.sh ;;
*)
echo "module $module is not valid" ;;
esac
}
function check_gs_probackup()
{
REGRESS_PATH=$ROOT_CODE_PATH/${OPENGS}/src/test/regress
cd ${REGRESS_PATH}/
sh ${REGRESS_PATH}/gs_probackup.sh;
}
DO_CMD=$1
TRUNK_CODE_PATH=${2}
CMAKE_BUILD_PATH=${3}
INSTALLED_PATH=${5}
ENABLE_MEMORY_CHECK=${7}
MAKE_PROGRAM=${8}
SUPPORT_HOTPATCH=${9}
OPENGS=${10}
d=4
c=2
p=25632
runtest=1
level=basic
n=2002
s=1
part=""
PART=""
ENCODE=""
MAX_CONNECTIONS=""
keep_last_data=false
hdfshostname='10.185.178.239:25000,10.185.178.241'
PARALLEL_INITDB=""
CPU_ARCH=$(uname -p)
function check_enum()
{
old_path=`pwd`
cd $CODE_BASE
python $REGRESS_PATH/check_enum.py
if [ $? != 0 ]; then
exit 1
fi
cd $old_path
}
function set_cm_env()
{
export CM_CONFIG_PATH=$ROOT_CODE_PATH/src/test/ss/cm_config.ini
}
function set_common_env()
{
export CODE_BASE=$ROOT_CODE_PATH/${OPENGS}
export CODE_BASE_SRC=$CODE_BASE/src
export GAUSSHOME=$PREFIX_HOME
REGRESS_PATH=$ROOT_CODE_PATH/${OPENGS}/src/test/regress
check_enum
REGRESS_PATH=$(cd ${REGRESS_PATH}/; pwd)
PGREGRESS_BIN=./${OPENGS}/src/test/regress/pg_regress_single
if [ "${ENABLE_MEMORY_CHECK}" = "ON" ];then
export ASAN_OPTIONS="unmap_shadow_on_exit=1:abort_on_error=1:detect_leaks=1:force_check_leak=1:halt_on_error=0:alloc_dealloc_mismatch=0:fast_unwind_on_fatal=1:log_path=/home/$(whoami)/memchk/asan/runlog"
export LSAN_OPTIONS="exitcode=0:suppressions=${CODE_BASE}/Tools/memory_check/memleak_ignore"
EXTRA_REGRESS_OPTS="--ignore-exitcode --keep-run"
fi
MAXCONNOPT=""
if [ ! "${MAX_CONNECTIONS}" = "" ];then
MAXCONNOPT="--max-connections=$(MAX_CONNECTIONS)"
fi
echo ..........$REGRESS_PATH
cp $THIRD_PATH/kernel/dependency/event/comm/lib/* $PREFIX_HOME/lib
cp -r $REGRESS_PATH/expected .
cp -r $REGRESS_PATH/data .
cp -r $REGRESS_PATH/jdbc_test .
cp -r $REGRESS_PATH/jdbc_ce_test .
cp -r $REGRESS_PATH/jdbc_client .
cp -r $REGRESS_PATH/jdbc_client_lib .
cp -r $REGRESS_PATH/jdbc_client_lib ./opengauss/src/test/regress/
cp -r $REGRESS_PATH/security_scripts .
cp ./lib/regress.so $PREFIX_HOME/lib
cp ./lib/refint.so $PREFIX_HOME/lib
cp ./lib/autoinc.so $PREFIX_HOME/lib
rm $PREFIX_HOME/lib/libstdc++.so.6
DL_PATH=${GAUSSHOME}/lib
TOP_DIR=$ROOT_CODE_PATH
INPUT_DIR=${REGRESS_PATH}
TEMP_INSTALL=${REGRESS_PATH}/tmp_check
REGCONF=$INPUT_DIR/regress.conf
SCHEDULE=$INPUT_DIR/$1
TEMP_CONFIG=$INPUT_DIR/$2
DATA_BASE_DIR=$INPUT_DIR/../../../../privategauss/test/grayscale_upgrade
UPGRADE_SCRIPT_DIR=$INPUT_DIR/../grayscale_upgrade
OLD_BIN_DIR=$TEMP_INSTALL/bin
UPGRADE_SCHEDULE=$INPUT_DIR/upgrade_schedule
exception_arm_cases ${ROOT_CODE_PATH} parallel_schedule
pg_regress_locale_flags=""
pg_regress_check="${PGREGRESS_BIN} --inputdir=${INPUT_DIR} --temp-install=${TEMP_INSTALL} --top-builddir=${TOP_DIR} ${pg_regress_locale_flags}"
chmod +x ${REGRESS_PATH}/smartmatch.pl
rm -rf ./testtablespace && mkdir ./testtablespace
test -d /home/$(whoami)/memchk/asan || mkdir -p /home/$(whoami)/memchk/asan
if [ "X$p" = "X" ]; then
p=35000
fi
echo "--------------------LD_LIBRARY_PATH----------------------------------------------------"
echo $LD_LIBRARY_PATH
export
UPGRADE_FROM=92497
}
function set_common_env_plugin()
{
export CODE_BASE=$ROOT_CODE_PATH/${OPENGS}
export CODE_BASE_SRC=$CODE_BASE/src
export GAUSSHOME=$PREFIX_HOME
REGRESS_PATH=$ROOT_CODE_PATH/contrib/dolphin
cp $ROOT_CODE_PATH/src/test/regress/check_enum.py $REGRESS_PATH
check_enum
REGRESS_PATH=$(cd ${REGRESS_PATH}/; pwd)
PGREGRESS_BIN=./${OPENGS}/src/test/regress/pg_regress_single
if [ "${ENABLE_MEMORY_CHECK}" = "ON" ];then
export ASAN_OPTIONS="unmap_shadow_on_exit=1:abort_on_error=1:detect_leaks=1:force_check_leak=1:halt_on_error=0:alloc_dealloc_mismatch=0:fast_unwind_on_fatal=1:log_path=/home/$(whoami)/memchk/asan/runlog"
export LSAN_OPTIONS="exitcode=0:suppressions=${CODE_BASE}/Tools/memory_check/memleak_ignore"
EXTRA_REGRESS_OPTS="--ignore-exitcode --keep-run"
fi
MAXCONNOPT=""
if [ ! "${MAX_CONNECTIONS}" = "" ];then
MAXCONNOPT="--max-connections=$(MAX_CONNECTIONS)"
fi
echo ..........$REGRESS_PATH
cp $THIRD_PATH/kernel/dependency/event/comm/lib/* $PREFIX_HOME/lib
cp -r $REGRESS_PATH/expected .
cp -r $REGRESS_PATH/data .
cp ./lib/regress.so $PREFIX_HOME/lib
cp ./lib/refint.so $PREFIX_HOME/lib
cp ./lib/autoinc.so $PREFIX_HOME/lib
rm $PREFIX_HOME/lib/libstdc++.so.6
DL_PATH=${GAUSSHOME}/lib
TOP_DIR=$ROOT_CODE_PATH
INPUT_DIR=${REGRESS_PATH}
TEMP_INSTALL=${REGRESS_PATH}/tmp_check
REGCONF=$INPUT_DIR/regress.conf
SCHEDULE=$INPUT_DIR/$1
TEMP_CONFIG=$INPUT_DIR/$2
DATA_BASE_DIR=$INPUT_DIR/../../../../privategauss/test/grayscale_upgrade
UPGRADE_SCRIPT_DIR=$INPUT_DIR/../grayscale_upgrade
OLD_BIN_DIR=$TEMP_INSTALL/bin
UPGRADE_SCHEDULE=$INPUT_DIR/upgrade_schedule
exception_arm_cases ${ROOT_CODE_PATH} parallel_schedule
pg_regress_locale_flags=""
pg_regress_check="${PGREGRESS_BIN} --inputdir=${INPUT_DIR} --temp-install=${TEMP_INSTALL} --top-builddir=${TOP_DIR} ${pg_regress_locale_flags}"
chmod +x ${REGRESS_PATH}/smartmatch.pl
rm -rf ./testtablespace && mkdir ./testtablespace
test -d /home/$(whoami)/memchk/asan || mkdir -p /home/$(whoami)/memchk/asan
if [ "X$p" = "X" ]; then
p=35000
fi
echo "--------------------LD_LIBRARY_PATH----------------------------------------------------"
echo $LD_LIBRARY_PATH
export
UPGRADE_FROM=92497
}
function parse_args()
{
for((i=1;i<10;i++))
do
shift
done
while (($#))
do
case $1 in
*=[[:print:]]*) eval $1; shift;;
*) shift;;
esac
done
}
if [ "X$DO_CMD" = "X--cmd-withargs" ]; then
DO_CMD=$6
parse_args $@
export ROOT_CODE_PATH=$2
export EXEC_PATH=$3
export THIRD_PATH=$4
export INSTALL_PATH=$5
echo $THIRD_PATH
fi
DEPLOY_OPTS="-d $d -c $c -p $p -r ${runtest} -b tmp_check"
DEPLOY_OPTS_N="-d $d -c $c -p $p -r ${runtest} -b tmp_check -n $n"
DEPLOY_OPTS_ORC="-d 2 -c 2 -p $p -r ${runtest} -b tmp_check -n $n"
case $DO_CMD in
--runscript*|runscript)
runscript "$4" "$5" "$6" "$7" ;;
--build-package*|package*|--p)
cd $TRUNK_CODE_PATH/../Build/Script && ./mpp_package_cmake.sh -i ${INSTALLED_PATH} -m ;;
--check|--runcheck|runcheck|check)
real_regresscheck parallel_schedule make_check_postgresql.conf "$DEPLOY_OPTS_N" ;;
--fastcheck_parallel_initdb_single|fastcheck_parallel_initdb_single)
PARALLEL_INITDB="--parallel_initdb"
args_val="$PARALLEL_INITDB -d 6 -c 3 -p $p -r 1 -n 2002"
real_regresscheck_old parallel_schedule$part make_fastcheck_postgresql.conf "${args_val}" ;;
--fastcheck_single|fastcheck_single)
args_val="-d 1 -c 0 -p $p -r 1 "
real_regresscheck_single parallel_schedule0$part make_fastcheck_postgresql.conf "${args_val}" ;;
--fastcheck_anomaly_single|fastcheck_anomaly_single)
args_val="-d 1 -c 0 -p $p -r 1 "
real_regresscheck_single query_anomaly_sched make_fastcheck_anomaly_postgresql.conf "${args_val}" ;;
--plugin_check|plugin_check)
args_val="-d 1 -c 0 -p $p -r 1 "
real_regresscheck_plugin parallel_schedule_dolphin$part make_check_postgresql.conf "${args_val}" ;;
--fastcheck_single_audit|fastcheck_single_audit)
args_val="-d 1 -c 0 -p $p -r 1 "
real_regresscheck_single_audit security_audit_schedule0$part make_fastcheck_audit_postgresql.conf "${args_val}" ;;
--fastcheck_lite|fastcheck_lite)
args_val="-d 1 -c 0 -p $p -r 1 "
real_regresscheck_single parallel_schedule.lite$part make_fastcheck_postgresql.conf "${args_val}" ;;
--fastcheck_single_ss|fastcheck_single_ss)
args_val="-d 1 -c 0 -p $p -r 1 "
real_regresscheck_single_ss parallel_scheduleSS make_fastcheck_ss_postgresql.conf "${args_val}" ;;
--fastcheck_ss|fastcheck_ss)
args_val="-d 2 -c 0 -p $p -r 1 "
real_regresscheck_ss parallel_schedule_ss_read$part make_fastcheck_ss_postgresql.conf "${args_val}" ;;
--fastcheck_ss_fi|fastcheck_ss_fi)
args_val="-d 2 -c 0 -p $p -r 1 "
real_regresscheck_ss parallel_schedule_ss_fi$part make_fastcheck_ss_postgresql.conf "${args_val}" ;;
--fastcheck_gs_probackup|fastcheck_gs_probackup)
args_val=$(echo $DO_CMD | sed 's\--\\g')
check_gs_probackup;;
--upgradecheck_single|upgradecheck_single)
args_val="-d 1 -c 0 -p $p -r 1 "
real_upgradecheck_single parallel_schedule0$part make_fastcheck_postgresql.conf "${args_val}" ;;
--fastcheck_single_mot|fastcheck_single_mot)
args_val="-d 1 -c 0 -p $p -r 1 "
real_regresscheck_single_mot parallel_schedule20 make_fastcheck_single_mot_postgresql.conf "${args_val}" ;;
--2pccheck_single|2pccheck_single)
args_val="-d 4 -c 2 -p $p -r ${runtest}"
real_2pccheck parallel_schedule_2pc make_check_postgresql_2pc.conf "${args_val}" ;;
--redischeck_single|redischeck_single)
args_val="-d 8 -c 1 -p $p -r ${runtest}"
real_redischeck parallel_schedule${part}.redistribute make_check_postgresql.conf "${args_val}" ;;
--wlmcheck_single|wlmcheck_single)
args_val="-d 6 -c 3 -p $p -r ${runtest}"
real_wmlcheck parallel_schedule${part}.wlm make_wlmcheck_postgresql.conf "${args_val}" ;;
--hacheck_single_all|hacheck_single_all|--hacheck_single|hacheck_single|--hacheck_multi_single|hacheck_multi_single|--hacheck_multi_single_mot|hacheck_multi_single_mot|--hacheck_decode|hacheck_decode|--hacheck_single_paxos|hacheck_single_paxos|--hacheck_ss_all|hacheck_ss_all|--hacheck_single_standby_read|hacheck_single_standby_read)
args_val=$(echo $DO_CMD | sed 's\--\\g')
real_hacheck "${args_val}";;
--fastcheck_ledger_single|fastcheck_ledger_single)
args_val="-d 6 -c 3 -p $p -r ${runtest} -n 2002"
real_regresscheck_ledger ledger_schedule make_fastcheck_postgresql.conf "${args_val}" ;;
--fastcheck_ce_single|fastcheck_ce_single)
args_val="-d 1 -c 0 -p $p -r ${runtest} -n 2002"
real_regresscheck_ce ce_sched make_fastcheck_postgresql.conf "${args_val}" ;;
--execute_fastcheck_ce_single_jdbc|execute_fastcheck_ce_single_jdbc)
args_val="-d 1 -c 0 -p $p -r ${runtest} -n 2002"
real_regresscheck_ce_jdbc ce_sched_jdbc make_fastcheck_postgresql.conf "${args_val}" ;;
--fastcheck_policy_plugin_single|fastcheck_policy_plugin_single)
args_val="-d 6 -c 3 -p $p -r ${runtest} -n 2002"
real_regresscheck_policy_plugin security_plugin_schedule make_fastcheck_postgresql.conf "${args_val}" ;;
--decodecheck_single|decodecheck_single)
args_val="-d 1 -c 0 -p $p -r ${runtest}"
real_regresscheck_decode parallel_schedule.decode make_fastcheck_postgresql.conf "${args_val}" ;;
--utest*|utest*|ut|--u)
echo "now ctest: this is CMake test work, test driver develop" ;;
--test*|test)
echo "now test services" ;;
*)
echo "no args: after you need add cmd in cmake" ;;
esac