From: Anton Maklakov Date: Tue, 27 Nov 2018 11:16:18 +0000 (+0800) Subject: ci: Use more pedantic checking for examples and ut X-Git-Tag: v3.3-beta2~188^2~1 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0652a4b71456cfe72abac1d4d80fb4eaec23b060;p=esp-idf ci: Use more pedantic checking for examples and ut --- diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b778bed88d..294fe3b058 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -200,15 +200,15 @@ build_ssc_02: build_esp_idf_tests_make: <<: *build_esp_idf_unit_test_template script: - - export EXTRA_CFLAGS="-Werror -Werror=deprecated-declarations" + - export EXTRA_CFLAGS=${PEDANTIC_CFLAGS} - export EXTRA_CXXFLAGS=${EXTRA_CFLAGS} - cd $CI_PROJECT_DIR/tools/unit-test-app - MAKEFLAGS= make help # make sure kconfig tools are built in single process - make ut-clean-all-configs - make ut-build-all-configs - python tools/UnitTestParser.py + # Check if the tests demand Make built binaries. If not, delete them - if [ "$UNIT_TEST_BUILD_SYSTEM" == "make" ]; then exit 0; fi - # If Make, delete the CMake built artifacts - rm -rf builds output sdkconfig - rm -rf components/idf_test/unit_test/TestCaseAll.yml - rm -rf components/idf_test/unit_test/CIConfigs/*.yml @@ -217,16 +217,14 @@ build_esp_idf_tests_cmake: <<: *build_esp_idf_unit_test_template script: - export PATH="$IDF_PATH/tools:$PATH" - - export EXTRA_CFLAGS="-Werror -Werror=deprecated-declarations" + - export EXTRA_CFLAGS=${PEDANTIC_CFLAGS} - export EXTRA_CXXFLAGS=${EXTRA_CFLAGS} - cd $CI_PROJECT_DIR/tools/unit-test-app - # Build with CMake first - idf.py ut-clean-all-configs - idf.py ut-build-all-configs - python tools/UnitTestParser.py - # Check if test demands CMake or Make built binaries. If CMake leave the built artifacts as is then exit. + # Check if the tests demand CMake built binaries. If not, delete them - if [ "$UNIT_TEST_BUILD_SYSTEM" == "cmake" ]; then exit 0; fi - # If Make, delete the CMake built artifacts - rm -rf builds output sdkconfig - rm -rf components/idf_test/unit_test/TestCaseAll.yml - rm -rf components/idf_test/unit_test/CIConfigs/*.yml diff --git a/tools/ci/build_examples.sh b/tools/ci/build_examples.sh index 9ab8fee578..eb8a5993ae 100755 --- a/tools/ci/build_examples.sh +++ b/tools/ci/build_examples.sh @@ -129,7 +129,7 @@ build_example () { local EXAMPLE_DIR_REL=${EXAMPLE_DIR#"${COPY_ROOT_PARENT}"} pushd "example_builds/${ID}/${EXAMPLE_DIR_REL}" # be stricter in the CI build than the default IDF settings - export EXTRA_CFLAGS="-Werror -Werror=deprecated-declarations" + export EXTRA_CFLAGS=${PEDANTIC_CFLAGS} export EXTRA_CXXFLAGS=${EXTRA_CFLAGS} # build non-verbose first diff --git a/tools/ci/build_examples_cmake.sh b/tools/ci/build_examples_cmake.sh index 8686219814..009cc22059 100755 --- a/tools/ci/build_examples_cmake.sh +++ b/tools/ci/build_examples_cmake.sh @@ -119,7 +119,7 @@ build_example () { cp -r "${EXAMPLE_DIR}" "example_builds/${ID}" pushd "example_builds/${ID}/${EXAMPLE_NAME}" # be stricter in the CI build than the default IDF settings - export EXTRA_CFLAGS="-Werror -Werror=deprecated-declarations" + export EXTRA_CFLAGS=${PEDANTIC_CFLAGS} export EXTRA_CXXFLAGS=${EXTRA_CFLAGS} # build non-verbose first diff --git a/tools/ci/configure_ci_environment.sh b/tools/ci/configure_ci_environment.sh index a92600e92a..1d4380ad56 100644 --- a/tools/ci/configure_ci_environment.sh +++ b/tools/ci/configure_ci_environment.sh @@ -30,3 +30,7 @@ else export IS_PUBLIC= fi unset REF + +# Compiler flags to thoroughly check the IDF code in some CI jobs +# (Depends on default options '-Wno-error=XXX' used in the IDF build system) +export PEDANTIC_CFLAGS="-Werror -Werror=deprecated-declarations -Werror=unused-variable -Werror=unused-but-set-variable -Werror=unused-function" diff --git a/tools/ci/test_configure_ci_environment.sh b/tools/ci/test_configure_ci_environment.sh index 1ad5f430ca..8f513de95d 100755 --- a/tools/ci/test_configure_ci_environment.sh +++ b/tools/ci/test_configure_ci_environment.sh @@ -30,5 +30,9 @@ assert_branch_public v1.2-rc77 1 assert_branch_public v1.2.3-rc1 1 assert_branch_public v1.2.3invalid -rm -f .gitmodules +( + . ./configure_ci_environment.sh + [[ $PEDANTIC_CFLAGS ]] || { echo "PEDANTIC_CFLAGS is not defined"; exit 1; } +) || { exit 1; } +rm -f .gitmodules