11 Star 24 Fork 0

Gitee 极速下载 / hawq

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/apache/incubator-hawq
克隆/下载
sanity-test.sh 7.79 KB
一键复制 编辑 原始数据 按行查看 历史
ztao1987 提交于 2021-08-10 22:30 . HAWQ-1799. fix ci issue
#!/bin/bash -e
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
source /usr/local/hawq/greenplum_path.sh
TEST_DB_NAME="hawq_feature_test_db"
export PGDATABASE=$TEST_DB_NAME
function check_feature_test_data
{
if [ ! -f src/test/feature/query/data/test_insert_groupby.data ] || [ ! -d src/test/feature/query/data/joindata ];then
echo -e '
\033[01;32m
###############################################################################
Note:
Please download data from
https://s3.cn-north-1.amazonaws.com.cn/perfdata/generateddata/datatype.tar.gz
1. login in to https://console.amazonaws.cn/s3/home?region=cn-north-1# and it can not directly download from link.
2. Found datatype data from perfdata/generateddata/datatype.tar.gz
Found join data from perfdata/generateddata/joindata.tar.gz
And put the "*.data" files into
./src/test/feature/query/data/
using
"tar -xvf ~/Downloads/datatype.tar.gz -C ./src/test/feature/query/data/"
"tar -xvf ~/Downloads/joindata.tar.gz -C ./src/test/feature/query/data/"
You would not receive this NOTE again once you did what mention above.
###############################################################################
\033[00m'
exit 1
fi
}
function initTestDB()
{
echo "Init Test Database ..."
psql -d postgres -c "drop database if exists $TEST_DB_NAME;"
psql -d postgres -c "create database $TEST_DB_NAME;"
psql -c "alter database $TEST_DB_NAME set lc_messages to 'C';"
psql -c "alter database $TEST_DB_NAME set lc_monetary to 'C';"
psql -c "alter database $TEST_DB_NAME set lc_numeric to 'C';"
psql -c "alter database $TEST_DB_NAME set lc_time to 'C';"
psql -c "alter database $TEST_DB_NAME set timezone_abbreviations to 'Default';"
psql -c "alter database $TEST_DB_NAME set timezone to 'PST8PDT';"
psql -c "alter database $TEST_DB_NAME set datestyle to 'postgres,MDY';"
echo "Done."
}
function printf_usage ()
{
echo -e "Usage: ./sanity-test.sh [-i] [-c] [-t <orctiny/orcsanity/orcall/magmatiny/magmasanity/magmaall>] [-s <'serial case'>] [-p <'parallel case'>]"
}
function printf_help ()
{
printf_usage
echo
echo -e " -c\t Make feature test clean"
echo -e " -i\t Init test db, Note: it only drop database and recreate database not reinitialize hawq cluster"
echo -e " -t\t orctiny/orcsanity/orcall/magmatiny/magmasanity/magmaall/magmaaptiny/magmaapsanity/magmaapall/user if not specified, magmatiny is default"
echo -e " -s\t Feature test serial case. It can be used together with -s option"
echo -e " -p\t Feature test parallel case. It can be used togher with -p option"
echo -e " -h\t Print help"
}
function compile_featuretest()
{
echo "Clean feature-test ..."
if [[ $cleanfeature == "true" ]]; then
make feature-test-clean
echo "Done."
fi
echo "Build feature-test ..."
make -j8 feature-test
echo "Done."
}
function clean_and_check_test()
{
rm -rf src/test/feature/testresult
check_feature_test_data
echo "Check Hdfs/python/GPHOME command ..."
command -v hdfs >/dev/null 2>&1 || { echo >&2 "Need to add hdfs command in PATH"; exit 1; }
command -v python >/dev/null 2>&1 || { echo >&2 "Need to add python command in PATH"; exit 1; }
: ${GPHOME?"Need to source greenplum_path.sh"}
echo "Done."
if [[ $inittestdb == "true" ]]; then
initTestDB
fi
}
DIR="$(cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PREFIX="/opt/dependency"
#source $PREFIX/env.sh
export DEPENDENCY_PATH=$PREFIX/package
serial_case1=""
serial_case2=""
parallel_case1="TestExtMagma.TestMagmaAP*:TestSelectQuery.TestMagmaAP*"
parallel_case2=""
inittestdb=false
cleanfeature=false
while getopts s:p:t:cih opt
do
case "$opt" in
s)
serial_case2=$OPTARG
;;
p)
parallel_case2=$OPTARG
;;
i)
inittestdb=true
;;
c)
cleanfeature=true
;;
h)
printf_help
exit 0
;;
t)
echo "param"
echo "$OPTARG"
case $OPTARG in
"user" )
serial_case1=""
parallel_case1=""
;;
"orctiny" )
serial_case1=""
parallel_case1="TestNewExecutor.*:-*Magma*"
;;
"orcsanity" )
serial_case1="TestTPCH.TestORC_NewQE_Hash"
parallel_case1="TestNewExecutor.*:TestExtOrc.*:TestSelectQuery.*ORC:TestOlapQuery.*ORC:TestQueryPrepare.*ORC:TestSlice.*ORC"
;;
"orcall" )
serial_case1="TestTPCH.TestORC_NewQE_Partition:TestTPCH.TestORC_OldQE"
parallel_case1="TestNewExecutor.*:TestExtOrc.*:TestSelectQuery.*ORC:TestOlapQuery.*ORC:TestQueryPrepare.*ORC:TestSlice.*ORC"
;;
"magmatiny" )
serial_case1=""
parallel_case1="TestExtMagma.TestMagmaTP*:TestSelectQuery.TestMagmaTP*:TestNewExecutor.TestMagmaTP*"
;;
"magmasanity" )
serial_case1="TestTPCH.TestMagmaTP"
parallel_case1="TestExternalDataType.TestMagmaTP*"
;;
"magmaall" )
serial_case1="TestTPCH.TestMagmaTPPartition:TestTPCH.TestMagmaTP_PK:TestTransaction.TestMagmaTP*"
parallel_case1="*.TestMagmaTP*:-TestTransaction*.*:TestMagmaQuitQuery.*:TestTPCH.*:TestMagmaFault.*"
;;
"magmaaptiny" )
serial_case1=""
parallel_case1="TestExtMagma.TestMagmaAP*:TestSelectQuery.TestMagmaAP*"
;;
"magmaapsanity" )
serial_case1="TestTPCH.TestMagmaAP"
parallel_case1="TestExternalDataType.TestMagmaAP*"
;;
"magmaapall" )
serial_case1="TestTPCH.TestMagmaAP:TestTransaction.TestMagmaAP*"
parallel_case1="*.TestMagmaAP*:-TestTransaction*.*:TestMagmaQuitQuery.*:TestTPCH.*:TestMagmaFault.*"
;;
*)
echo "It should be orctiny/orcsanity/orcall/magmatiny/magmasanity/magmaall"
exit
esac
;;
*)
echo "Unknown option: $opt"
exit 1
;;
esac
done
#compile_featuretest
clean_and_check_test
echo "The first part test is $serial_case1 and $parallel_case1"
if [[ $serial_case1 != "" ]]; then
echo "Run sanity test Serial test and filer is $serial_case1"
src/test/feature/feature-test --gtest_filter=$serial_case1
fi
if [[ $parallel_case1 != "" ]]; then
rm -rf src/test/feature/testresult
mkdir -p src/test/feature/testresult
echo "Run sanity test Parallel test and filer is $parallel_case1"
python src/test/feature/gtest-parallel --workers=4 --output_dir=src/test/feature/testmagmaresult --print_test_times src/test/feature/feature-test --gtest_filter=$parallel_case1
fi
if [[ $serial_case2 != "" ]]; then
echo "Run sanity test Serial test and filer is $serial_case2"
src/test/feature/feature-test --gtest_filter=$serial_case2
fi
if [[ $parallel_case2 != "" ]]; then
rm -rf mkdir -p src/test/feature/testresult2
mkdir -p src/test/feature/testresult2
python src/test/feature/gtest-parallel --workers=4 --output_dir=src/test/feature/testresult2 --print_test_times src/test/feature/feature-test --gtest_filter=$parallel_case2
fi
echo "Finish test"
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/mirrors/hawq.git
git@gitee.com:mirrors/hawq.git
mirrors
hawq
hawq
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891