diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 09800c3e5..3b15fd8c4 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -8,14 +8,22 @@ on: jobs: test: - runs-on: ubuntu-latest - name: CPP + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macosx-latest] + runs-on: ${{ matrix.os }} env: CPLUS_INCLUDE_PATH: "/usr/local/include/:/usr/include/jsoncpp/:/usr/local/opt/openssl/include/:/usr/lib/" steps: - uses: actions/checkout@v3 - - run: sudo apt-get install lcov libcurl4-openssl-dev libssl-dev uuid-dev libjson-c-dev libjsoncpp-dev nodejs npm + + - if: ${{ matrix.os == 'ubuntu-latest' }} + run: sudo apt-get install lcov libcurl4-openssl-dev libssl-dev uuid-dev libjson-c-dev libjsoncpp-dev nodejs npm + - if: ${{ matrix.os == 'macosx-latest' }} + run: brew install lcov libcurl4-openssl-dev libssl-dev uuid-dev libjson-c-dev libjsoncpp-dev nodejs npm + - run: bash ./unit_test.sh - - run: bash ./generate_code_cov.sh + - run: bash ./generate_code_cov.sh - run: bash ./function_test.sh - run: bash <(curl -s https://codecov.io/bash) diff --git a/easyinstall.sh b/easyinstall.sh index b1bc8012c..c40c2ba05 100755 --- a/easyinstall.sh +++ b/easyinstall.sh @@ -7,11 +7,11 @@ if command -v python > /dev/null ; then MAKE="make -j $(python -c 'import multiprocessing as mp; print(int(mp.cpu_count()))')" fi -echo $MAKE +echo "$MAKE" rm -rf sdk_build mkdir sdk_build -cd sdk_build +cd sdk_build || exit cmake -DBUILD_PRODUCT="$product" -DBUILD_FUNCTION_TESTS=OFF -DBUILD_UNIT_TESTS=OFF -DENABLE_COVERAGE=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr .. $MAKE diff --git a/function_test.sh b/function_test.sh index ee4d88d29..72c1b83b6 100755 --- a/function_test.sh +++ b/function_test.sh @@ -1,6 +1,6 @@ #!/bin/bash -cd `dirname $0` +cd $(dirname "$0") || exit echo '-------build function test----------' MAKE=make @@ -8,12 +8,12 @@ if command -v python > /dev/null ; then MAKE="make -j $(python -c 'import multiprocessing as mp; print(int(mp.cpu_count()))')" fi -echo $MAKE +echo "$MAKE" FT_BUILD_DIR=ft_build rm -rf $FT_BUILD_DIR mkdir $FT_BUILD_DIR -cd $FT_BUILD_DIR +cd $FT_BUILD_DIR || exit cmake -DBUILD_FUNCTION_TESTS=ON -DBUILD_UNIT_TESTS=OFF .. $MAKE cdn core cs ecs rds slb vpc cdn_ft core_ft cs_ft ecs_ft nlp_ft rds_ft slb_ft vpc_ft diff --git a/unit_test.sh b/unit_test.sh index b37a26bed..5f778e1ae 100755 --- a/unit_test.sh +++ b/unit_test.sh @@ -1,31 +1,31 @@ #!/bin/bash -cd `dirname $0` +cd $(dirname "$0") || exit echo '-------build unit test----------' echo 'start a test http server' -NODE=`which nodejs` +NODE=$(which nodejs) if [ "$NODE" ] then echo '' else -NODE=`which node` +NODE=$(which node) fi -echo 'node binary path: ' $NODE +echo 'node binary path: ' "$NODE" -server=`ps -ef | grep http_test_server | grep -v grep` -echo "check server: " $server +server=$(ps -ef | grep http_test_server | grep -v grep) +echo "check server: " "$server" if [ "$server" ] then echo "server is on" else echo "server is off, start it" - cd test/httpserver + cd test/httpserver || exit npm i - nohup $NODE http_test_server.js & - cd - + nohup "$NODE" http_test_server.js & + cd - || exit fi MAKE=make @@ -33,12 +33,12 @@ if command -v python > /dev/null ; then MAKE="make -j $(python -c 'import multiprocessing as mp; print(int(mp.cpu_count()))')" fi -echo $MAKE +echo "$MAKE" UT_BUILD_DIR=ut_build rm -rf $UT_BUILD_DIR mkdir $UT_BUILD_DIR -cd $UT_BUILD_DIR +cd $UT_BUILD_DIR || exit cmake -DBUILD_FUNCTION_TESTS=OFF -DBUILD_UNIT_TESTS=ON -DENABLE_COVERAGE=ON .. $MAKE core_ut