From 0652a4b71456cfe72abac1d4d80fb4eaec23b060 Mon Sep 17 00:00:00 2001 From: Anton Maklakov Date: Tue, 27 Nov 2018 19:16:18 +0800 Subject: [PATCH] ci: Use more pedantic checking for examples and ut --- .gitlab-ci.yml | 10 ++++------ tools/ci/build_examples.sh | 2 +- tools/ci/build_examples_cmake.sh | 2 +- tools/ci/configure_ci_environment.sh | 4 ++++ tools/ci/test_configure_ci_environment.sh | 6 +++++- 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b778bed88..294fe3b05 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 9ab8fee57..eb8a5993a 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 868621981..009cc2205 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 a92600e92..1d4380ad5 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 1ad5f430c..8f513de95 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