Pārlūkot izejas kodu

test: add test to make sure the build flags are the same as the CI ones

Fu Hanxi 3 gadi atpakaļ
vecāks
revīzija
59304efa9a
2 mainītis faili ar 21 papildinājumiem un 2 dzēšanām
  1. 8 0
      .gitlab/ci/pre_check.yml
  2. 13 2
      tools/ci/ci_build_apps.py

+ 8 - 0
.gitlab/ci/pre_check.yml

@@ -168,3 +168,11 @@ check_test_scripts_build_test_rules:
     # required pytest related packages
     - run_cmd bash install.sh --enable-pytest
     - python tools/ci/check_build_test_rules.py check-test-scripts examples/ tools/test_apps components
+
+check_configure_ci_environment_parsing:
+  extends:
+    - .pre_check_template
+    - .before_script_build_jobs
+  script:
+    - cd tools/ci
+    - python -m unittest ci_build_apps.py

+ 13 - 2
tools/ci/ci_build_apps.py

@@ -8,6 +8,7 @@ This file is used in CI generate binary files for different kinds of apps
 import argparse
 import os
 import sys
+import unittest
 from collections import defaultdict
 from pathlib import Path
 from typing import List, Optional, Set
@@ -19,9 +20,9 @@ from idf_ci_utils import IDF_PATH, PytestApp, get_pytest_cases, get_ttfw_app_pat
 
 CI_ENV_VARS = {
     'EXTRA_CFLAGS': '-Werror -Werror=deprecated-declarations -Werror=unused-variable '
-                    '-Werror=unused-but-set-variable -Werror=unused-function',
+                    '-Werror=unused-but-set-variable -Werror=unused-function -Wstrict-prototypes',
     'EXTRA_CXXFLAGS': '-Werror -Werror=deprecated-declarations -Werror=unused-variable '
-                      '-Werror=unused-but-set-variable -Werror=unused-function -Wstrict-prototypes',
+                      '-Werror=unused-but-set-variable -Werror=unused-function',
     'LDGEN_CHECK_MAPPING': '1',
 }
 
@@ -302,3 +303,13 @@ if __name__ == '__main__':
             LOGGER.info(f'env var {_k} set to "{_v}"')
 
     main(arguments)
+
+
+class TestParsingShellScript(unittest.TestCase):
+    """
+    This test case is run in CI jobs to make sure the CI build flags is the same as the ones recorded in CI_ENV_VARS
+    """
+
+    def test_parse_result(self) -> None:
+        for k, v in CI_ENV_VARS.items():
+            self.assertEqual(os.getenv(k), v)