125 lines
3.3 KiB
Bash
Executable File
125 lines
3.3 KiB
Bash
Executable File
#!/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
|
|
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
|
|
|
|
export DORIS_HOME="${ROOT}"
|
|
|
|
. "${DORIS_HOME}/env.sh"
|
|
|
|
# Check args
|
|
usage() {
|
|
echo "
|
|
Usage: $0 <options>
|
|
Optional options:
|
|
--coverage build and run coverage statistic
|
|
--run build and run ut
|
|
|
|
Eg.
|
|
$0 build and run ut
|
|
$0 --coverage build and run coverage statistic
|
|
$0 --run org.apache.doris.utframe.Demo build and run the test named Demo
|
|
$0 --run org.apache.doris.utframe.Demo#testCreateDbAndTable+test2 build and run testCreateDbAndTable in Demo test
|
|
$0 --run org.apache.doris.Demo,org.apache.doris.Demo2 build and run Demo and Demo2 test
|
|
"
|
|
exit 1
|
|
}
|
|
|
|
if ! OPTS="$(getopt \
|
|
-n "$0" \
|
|
-o '' \
|
|
-l 'coverage' \
|
|
-l 'run' \
|
|
-- "$@")"; then
|
|
usage
|
|
fi
|
|
|
|
eval set -- "${OPTS}"
|
|
|
|
RUN=0
|
|
COVERAGE=0
|
|
if [[ "$#" == 1 ]]; then
|
|
#default
|
|
RUN=0
|
|
COVERAGE=0
|
|
else
|
|
RUN=0
|
|
COVERAGE=0
|
|
while true; do
|
|
case "$1" in
|
|
--coverage)
|
|
COVERAGE=1
|
|
shift
|
|
;;
|
|
--run)
|
|
RUN=1
|
|
shift
|
|
;;
|
|
--)
|
|
shift
|
|
break
|
|
;;
|
|
*)
|
|
echo "Internal error"
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
fi
|
|
|
|
echo "Build Frontend UT"
|
|
|
|
echo "******************************"
|
|
echo " Runing DorisFe Unittest "
|
|
echo "******************************"
|
|
|
|
echo "Build docs"
|
|
cd "${DORIS_HOME}/docs"
|
|
./build_help_zip.sh
|
|
cp build/help-resource.zip "${DORIS_HOME}"/fe/fe-core/src/test/resources/real-help-resource.zip
|
|
cd "${DORIS_HOME}"
|
|
|
|
"${DORIS_HOME}"/generated-source.sh
|
|
|
|
cd "${DORIS_HOME}/fe"
|
|
mkdir -p build/compile
|
|
|
|
if [[ -z "${FE_UT_PARALLEL}" ]]; then
|
|
# the default fe unit test parallel is 1
|
|
export FE_UT_PARALLEL=1
|
|
fi
|
|
echo "Unit test parallel is: ${FE_UT_PARALLEL}"
|
|
|
|
if [[ "${COVERAGE}" -eq 1 ]]; then
|
|
echo "Run coverage statistic"
|
|
ant cover-test
|
|
else
|
|
if [[ "${RUN}" -eq 1 ]]; then
|
|
echo "Run the specified class: $1"
|
|
# eg:
|
|
# sh run-fe-ut.sh --run org.apache.doris.utframe.DemoTest
|
|
# sh run-fe-ut.sh --run org.apache.doris.utframe.DemoTest#testCreateDbAndTable+test2
|
|
"${MVN_CMD}" test -Dcheckstyle.skip=true -DfailIfNoTests=false -D test="$1"
|
|
else
|
|
echo "Run Frontend UT"
|
|
"${MVN_CMD}" test -Dcheckstyle.skip=true -DfailIfNoTests=false
|
|
fi
|
|
fi
|