代码拉取完成,页面将自动刷新
#!/usr/bin/env bash
# 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.
set -eo pipefail
#set -x
ROOT=`dirname "$0"`
ROOT=`cd "$ROOT"; pwd`
DORIS_HOME=${ROOT}
# Check args
usage() {
echo "
Usage: $0 <shell_options> <framework_options>
Optional shell_options:
--clean clean output of regression test framework
--teamcity print teamcity service messages
--run run regression test. build framework if necessary
Optional framework_options:
-s run a specified suite
-g run a specified group
-d run a specified directory
-h **print all framework options usage**
-xs exclude the specified suite
-xg exclude the specified group
-xd exclude the specified directory
-genOut generate .out file if not exist
-forceGenOut delete and generate .out file if not exist
-parallel run tests using specified threads
-randomOrder run tests in a random order
-times rum tests {times} times
Eg.
$0 build regression test framework and run all suite which in default group
$0 --run test_select run a suite which named as test_select
$0 --run 'test*' run all suite which named start with 'test', note that you must quota with ''
$0 --run -s test_select run a suite which named as test_select
$0 --run test_select -genOut generate output file for test_select if not exist
$0 --run -g default run all suite in the group which named as default
$0 --run -d demo,correctness/tmp run all suite in the directories which named as demo and correctness/tmp
$0 --clean clean output of regression test framework
$0 --clean --run test_select clean output and build regression test framework and run a suite which named as test_select
$0 --run -h print framework options
$0 --teamcity --run test_select print teamcity service messages and build regression test framework and run test_select
Log path: \${DORIS_HOME}/output/regression-test/log
Default config file: \${DORIS_HOME}/regression-test/conf/regression-conf.groovy
"
exit 1
}
CLEAN=
WRONG_CMD=
TEAMCITY=
RUN=
if [ $# == 0 ] ; then
#default
CLEAN=0
WRONG_CMD=0
TEAMCITY=0
RUN=1
else
CLEAN=0
RUN=0
TEAMCITY=0
WRONG_CMD=0
while true; do
case "$1" in
--clean) CLEAN=1 ; shift ;;
--teamcity) TEAMCITY=1 ; shift ;;
--run) RUN=1 ; shift ;;
*)
if [ ${RUN} -eq 0 ] && [ ${CLEAN} -eq 0 ]; then
WRONG_CMD=1
fi
break ;;
esac
done
fi
if [ ${WRONG_CMD} -eq 1 ]; then
usage
exit 1
fi
# set maven
MVN_CMD=mvn
if [[ ! -z ${CUSTOM_MVN} ]]; then
MVN_CMD=${CUSTOM_MVN}
fi
if ! ${MVN_CMD} --version; then
echo "Error: mvn is not found"
exit 1
fi
export MVN_CMD
CONF_DIR=${DORIS_HOME}/regression-test/conf
CONFIG_FILE=${CONF_DIR}/regression-conf.groovy
LOG_CONFIG_FILE=${CONF_DIR}/logback.xml
FRAMEWORK_SOURCE_DIR=${DORIS_HOME}/regression-test/framework
REGRESSION_TEST_BUILD_DIR=${FRAMEWORK_SOURCE_DIR}/target
OUTPUT_DIR=${DORIS_HOME}/output/regression-test
LOG_OUTPUT_FILE=${OUTPUT_DIR}/log
RUN_JAR=${OUTPUT_DIR}/lib/regression-test-*.jar
if [ ${CLEAN} -eq 1 ]; then
rm -rf ${REGRESSION_TEST_BUILD_DIR}
rm -rf ${OUTPUT_DIR}
fi
if [ ${RUN} -ne 1 ]; then
echo "Finished"
exit 0
fi
if [ ! -f ${RUN_JAR} ]; then
echo "===== Build Regression Test Framework ====="
cd ${DORIS_HOME}/regression-test/framework
${MVN_CMD} package
cd ${DORIS_HOME}
mkdir -p ${OUTPUT_DIR}/{lib,log}
cp -r ${REGRESSION_TEST_BUILD_DIR}/regression-test-*.jar ${OUTPUT_DIR}/lib
fi
# check java home
if [[ -z ${JAVA_HOME} ]]; then
echo "Error: JAVA_HOME is not set"
exit 1
fi
# check java version
export JAVA=${JAVA_HOME}/bin/java
REGRESSION_OPTIONS_PREFIX=
# contains framework options and not start with -
# it should be suite name
if [ $# -ne 0 ] && [[ "$1" =~ ^[^-].* ]]; then
# specify suiteName
REGRESSION_OPTIONS_PREFIX='-s'
fi
echo "===== Run Regression Test ====="
JAVA_OPTS=${JAVA_OPTS}
if [ ${TEAMCITY} -eq 1 ]; then
JAVA_OPTS="$JAVA_OPTS -DstdoutAppenderType=teamcity -Xmx2048m"
fi
$JAVA -DDORIS_HOME=$DORIS_HOME \
-DLOG_PATH=$LOG_OUTPUT_FILE \
-Dlogback.configurationFile=${LOG_CONFIG_FILE} \
${JAVA_OPTS} \
-jar ${RUN_JAR} \
-cf ${CONFIG_FILE} \
${REGRESSION_OPTIONS_PREFIX} "$@"
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。