This is an automated email from the ASF dual-hosted git repository. zhaoyunxing pushed a commit to branch 1.5 in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git
commit e834a934184c098cce3ee6acddfe58a6c19a89b9 Author: EnableAsync <[email protected]> AuthorDate: Thu Jul 8 14:28:21 2021 +0800 Ftr: Add integration test multi-server support (#158) Fix: add consumer config for middle Ftr: add multi-zone to integration testing Fix: start_integrate_test.sh Fix: start_integrate_test.sh Fix: test.sh --- chain/build/test.sh | 44 ++++++++++++++++++++++++++++++++++++++++++++ integrate_test.sh | 22 ++++++++++++++-------- multi-zone/build/test.sh | 45 +++++++++++++++++++++++++++++++++++++++++++++ start_integrate_test.sh | 13 ++++++++----- 4 files changed, 111 insertions(+), 13 deletions(-) diff --git a/chain/build/test.sh b/chain/build/test.sh new file mode 100755 index 0000000..8cff497 --- /dev/null +++ b/chain/build/test.sh @@ -0,0 +1,44 @@ +# 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, softwarek +# 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. + +# This file is for integration testing only + +P_DIR="$1" + +# start zookeeper +make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename "$P_DIR")" BASE_DIR="$P_DIR"/dist -f build/Makefile docker-up + +# start server +make PROJECT_DIR="$P_DIR"/backend PROJECT_NAME="$(basename "$P_DIR"/backend)" BASE_DIR="$P_DIR"/backend/dist -f build/Makefile start +make PROJECT_DIR="$P_DIR"/middle PROJECT_NAME="$(basename "$P_DIR"/middle)" CONF_CONSUMER_FILE_PATH="$P_DIR"/middle/conf/client.yml BASE_DIR="$P_DIR"/middle/dist -f build/Makefile start + +# start integration testing +make PROJECT_DIR="$P_DIR"/backend PROJECT_NAME="$(basename "$P_DIR"/backend)" BASE_DIR="$P_DIR"/backend/dist -f build/Makefile integration +result=$? + +make PROJECT_DIR="$P_DIR"/middle PROJECT_NAME="$(basename "$P_DIR"/middle)" BASE_DIR="$P_DIR"/middle/dist CONF_CONSUMER_FILE_PATH="$P_DIR"/middle/conf/test.yml -f build/Makefile integration +result2=$? + +if [ $result -eq 0 ]; then + result=$result2 +fi + +# stop server and clean +make PROJECT_DIR="$P_DIR"/backend PROJECT_NAME="$(basename "$P_DIR"/backend)" BASE_DIR="$P_DIR"/backend/dist -f build/Makefile clean +make PROJECT_DIR="$P_DIR"/middle PROJECT_NAME="$(basename "$P_DIR"/middle)" BASE_DIR="$P_DIR"/middle/dist -f build/Makefile clean + +make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename "$P_DIR")" BASE_DIR="$P_DIR"/dist -f build/Makefile docker-down + +exit $result diff --git a/integrate_test.sh b/integrate_test.sh old mode 100644 new mode 100755 index 16e6915..bd6d076 --- a/integrate_test.sh +++ b/integrate_test.sh @@ -15,22 +15,28 @@ # limitations under the License. if [ -z "$1" ]; then - echo 'Provide test directory please, like : ./integrate_test.sh $(pwd)/helloworld/go-server .' - exit + echo "Provide test directory please, like : ./integrate_test.sh $(pwd)/helloworld/go-server ." + exit fi P_DIR=$(pwd)/$1 -make PROJECT_DIR=$P_DIR PROJECT_NAME=$(basename $P_DIR) BASE_DIR=$P_DIR/dist -f build/Makefile docker-up +if [ -f "$P_DIR"/build/test.sh ]; then + "$P_DIR"/build/test.sh "$P_DIR" + result=$? + exit $((result)) +fi + +make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename $P_DIR)" BASE_DIR="$P_DIR"/dist -f build/Makefile docker-up # start server -make PROJECT_DIR=$P_DIR PROJECT_NAME=$(basename $P_DIR) BASE_DIR=$P_DIR/dist -f build/Makefile start +make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename $P_DIR)" BASE_DIR="$P_DIR"/dist -f build/Makefile start # start integration -make PROJECT_DIR=$P_DIR PROJECT_NAME=$(basename $P_DIR) BASE_DIR=$P_DIR/dist -f build/Makefile integration +make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename $P_DIR)" BASE_DIR="$P_DIR"/dist -f build/Makefile integration result=$? # stop server -make PROJECT_DIR=$P_DIR PROJECT_NAME=$(basename $P_DIR) BASE_DIR=$P_DIR/dist -f build/Makefile clean +make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename $P_DIR)" BASE_DIR="$P_DIR"/dist -f build/Makefile clean -make PROJECT_DIR=$P_DIR PROJECT_NAME=$(basename $P_DIR) BASE_DIR=$P_DIR/dist -f build/Makefile docker-down +make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename $P_DIR)" BASE_DIR="$P_DIR"/dist -f build/Makefile docker-down -exit $((result)) \ No newline at end of file +exit $((result)) diff --git a/multi-zone/build/test.sh b/multi-zone/build/test.sh new file mode 100755 index 0000000..836fea6 --- /dev/null +++ b/multi-zone/build/test.sh @@ -0,0 +1,45 @@ +# 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, softwarek +# 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. + +# This file is for integration testing only + +P_DIR="$1" + +# start zookeeper +make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename "$P_DIR")" BASE_DIR="$P_DIR"/dist -f build/Makefile docker-up + +# start server +make PROJECT_DIR="$P_DIR"/go-server-hz PROJECT_NAME="$(basename "$P_DIR"/go-server-hz)" BASE_DIR="$P_DIR"/go-server-hz/dist -f build/Makefile start +make PROJECT_DIR="$P_DIR"/go-server-sh PROJECT_NAME="$(basename "$P_DIR"/go-server-sh)" BASE_DIR="$P_DIR"/go-server-sh/dist -f build/Makefile start + +# start integration testing +make PROJECT_DIR="$P_DIR"/go-server-hz PROJECT_NAME="$(basename "$P_DIR"/go-server-hz)" BASE_DIR="$P_DIR"/go-server-hz/dist -f build/Makefile integration +result=$? + +make PROJECT_DIR="$P_DIR"/go-server-sh PROJECT_NAME="$(basename "$P_DIR"/go-server-sh)" BASE_DIR="$P_DIR"/go-server-sh/dist -f build/Makefile integration +result2=$? + +if [ $result -eq 0 ]; then + result=$result2 +fi + +# stop server and clean +make PROJECT_DIR="$P_DIR"/go-server-hz PROJECT_NAME="$(basename "$P_DIR"/go-server-hz)" BASE_DIR="$P_DIR"/go-server-hz/dist -f build/Makefile clean +make PROJECT_DIR="$P_DIR"/go-server-sh PROJECT_NAME="$(basename "$P_DIR"/go-server-sh)" BASE_DIR="$P_DIR"/go-server-sh/dist -f build/Makefile clean + +# stop zookeeper +make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename "$P_DIR")" BASE_DIR="$P_DIR"/dist -f build/Makefile docker-down + +exit $result \ No newline at end of file diff --git a/start_integrate_test.sh b/start_integrate_test.sh index 181d229..0ebe563 100755 --- a/start_integrate_test.sh +++ b/start_integrate_test.sh @@ -23,6 +23,9 @@ array=("async/go-server") # attachment array+=("attachment/go-server") +# chain +array+=("chain") + # config-api array+=("config-api/go-server") @@ -65,6 +68,9 @@ array+=("helloworld/go-server") # metric array+=("metric/go-server") +# multi-zone +array+=("multi-zone") + # registry #array+=("registry/etcd/go-server") #array+=("registry/nacos/go-server") @@ -87,12 +93,9 @@ array+=("version/go-server-v2") for((i=0;i<${#array[*]};i++)) do - ./integrate_test.sh ${array[i]} + ./integrate_test.sh "${array[i]}" result=$? if [ $result -gt 0 ]; then - exit $result + exit $result fi done - -# chain -# multi-zone \ No newline at end of file
