From 4a11276cf43c11dba5e61fd5d6046c5e6454b94d Mon Sep 17 00:00:00 2001 From: Chen Yudong Date: Thu, 18 Nov 2021 22:28:20 +0800 Subject: [PATCH 1/3] ci: preserve artifacts for local test apps --- .gitlab/ci/pre_check.yml | 5 +++- .../python_packages/ttfw_idf/CIScanTests.py | 24 ++++++++++--------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/.gitlab/ci/pre_check.yml b/.gitlab/ci/pre_check.yml index 9cbbd30724..0292603a2c 100644 --- a/.gitlab/ci/pre_check.yml +++ b/.gitlab/ci/pre_check.yml @@ -157,10 +157,13 @@ scan_tests: TEST_APPS_OUTPUT_DIR: ${CI_PROJECT_DIR}/tools/test_apps/test_configs COMPONENT_UT_OUTPUT_DIR: ${CI_PROJECT_DIR}/component_ut/test_configs CI_SCAN_TESTS_PY: ${CI_PROJECT_DIR}/tools/ci/python_packages/ttfw_idf/CIScanTests.py + EXTRA_TEST_DIRS: >- + examples/bluetooth/esp_ble_mesh/ble_mesh_console + examples/wifi/iperf script: - set_component_ut_vars - run_cmd python $CI_SCAN_TESTS_PY example_test $EXAMPLE_TEST_DIR -b make --exclude examples/build_system/idf_as_lib -c $CI_TARGET_TEST_CONFIG_FILE -o $EXAMPLE_TEST_OUTPUT_DIR - - run_cmd python $CI_SCAN_TESTS_PY example_test $EXAMPLE_TEST_DIR -b cmake --exclude examples/build_system/idf_as_lib -c $CI_TARGET_TEST_CONFIG_FILE -o $EXAMPLE_TEST_OUTPUT_DIR + - run_cmd python $CI_SCAN_TESTS_PY example_test $EXAMPLE_TEST_DIR -b cmake --exclude examples/build_system/idf_as_lib -c $CI_TARGET_TEST_CONFIG_FILE -o $EXAMPLE_TEST_OUTPUT_DIR --extra_test_dirs $EXTRA_TEST_DIRS - run_cmd python $CI_SCAN_TESTS_PY test_apps $TEST_APPS_TEST_DIR -c $CI_TARGET_TEST_CONFIG_FILE -o $TEST_APPS_OUTPUT_DIR - run_cmd python $CI_SCAN_TESTS_PY component_ut $COMPONENT_UT_DIRS --exclude $COMPONENT_UT_EXCLUDES -c $CI_TARGET_TEST_CONFIG_FILE -o $COMPONENT_UT_OUTPUT_DIR diff --git a/tools/ci/python_packages/ttfw_idf/CIScanTests.py b/tools/ci/python_packages/ttfw_idf/CIScanTests.py index c1b38f89bb..08bb1f1d7b 100644 --- a/tools/ci/python_packages/ttfw_idf/CIScanTests.py +++ b/tools/ci/python_packages/ttfw_idf/CIScanTests.py @@ -94,7 +94,9 @@ def main(): # type: () -> None help='output path of the scan result') parser.add_argument('--exclude', nargs='*', help='Ignore specified directory. Can be used multiple times.') - parser.add_argument('--preserve', action='store_true', + parser.add_argument('--extra_test_dirs', nargs='*', + help='Additional directories to preserve artifacts for local tests') + parser.add_argument('--preserve_all', action='store_true', help='add this flag to preserve artifacts for all apps') parser.add_argument('--build-all', action='store_true', help='add this flag to build all apps') @@ -116,7 +118,8 @@ def main(): # type: () -> None output_json([], target, args.build_system, args.output_path) SystemExit(0) - paths = set([os.path.join(str(os.getenv('IDF_PATH')), path) if not os.path.isabs(path) else path for path in args.paths]) + idf_path = str(os.getenv('IDF_PATH')) + paths = set([os.path.join(idf_path, path) if not os.path.isabs(path) else path for path in args.paths]) test_cases = [] for path in paths: @@ -126,7 +129,6 @@ def main(): # type: () -> None assign = _TestAppsAssignTest(path, args.ci_config_file) else: raise SystemExit(1) # which is impossible - test_cases.extend(assign.search_cases()) ''' @@ -150,15 +152,16 @@ def main(): # type: () -> None if build_test_case_apps: scan_info_dict[target]['test_case_apps'] = set() + test_dirs = args.extra_test_dirs if args.extra_test_dirs else [] for case in test_cases: - app_dir = case.case_info['app_dir'] - app_target = case.case_info['target'] - if app_target.lower() != target.lower(): - continue + if case.case_info['target'].lower() == target.lower(): + test_dirs.append(case.case_info['app_dir']) + for app_dir in test_dirs: + app_dir = os.path.join(idf_path, app_dir) if not os.path.isabs(app_dir) else app_dir _apps = find_apps(build_system_class, app_dir, True, exclude_apps, target.lower()) if _apps: scan_info_dict[target]['test_case_apps'].update(_apps) - exclude_apps.append(app_dir) + exclude_apps.extend(_apps) else: scan_info_dict[target]['test_case_apps'] = set() @@ -169,7 +172,6 @@ def main(): # type: () -> None find_apps(build_system_class, path, True, exclude_apps, target.lower())) else: scan_info_dict[target]['standalone_apps'] = set() - test_case_apps_preserve_default = True if build_system == 'cmake' else False for target in SUPPORTED_TARGETS: apps = [] @@ -178,14 +180,14 @@ def main(): # type: () -> None 'app_dir': app_dir, 'build_system': args.build_system, 'target': target, - 'preserve': args.preserve or test_case_apps_preserve_default + 'preserve': args.preserve_all or test_case_apps_preserve_default }) for app_dir in scan_info_dict[target]['standalone_apps']: apps.append({ 'app_dir': app_dir, 'build_system': args.build_system, 'target': target, - 'preserve': args.preserve + 'preserve': args.preserve_all }) output_path = os.path.join(args.output_path, 'scan_{}_{}.json'.format(target.lower(), build_system)) with open(output_path, 'w') as fw: From 4d73d4db36e6cfb5a92f886d3d96b626641021e8 Mon Sep 17 00:00:00 2001 From: Chen Yudong Date: Wed, 1 Dec 2021 12:03:34 +0800 Subject: [PATCH 2/3] example: build ble_mesh_console example on c3 and s3 as well --- .../esp_ble_mesh/ble_mesh_console/README.md | 4 ++-- .../main/ble_mesh_reg_test_perf_client_cmd.c | 19 +++++-------------- tools/ci/check_copyright_ignore.txt | 1 - 3 files changed, 7 insertions(+), 17 deletions(-) diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_console/README.md b/examples/bluetooth/esp_ble_mesh/ble_mesh_console/README.md index 86a244b8f7..211cf88d03 100644 --- a/examples/bluetooth/esp_ble_mesh/ble_mesh_console/README.md +++ b/examples/bluetooth/esp_ble_mesh/ble_mesh_console/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | -| ----------------- | ----- | +| Supported Targets | ESP32 | ESP32-C3 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | # ble mesh node console demo ## Introduction diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_console/main/ble_mesh_reg_test_perf_client_cmd.c b/examples/bluetooth/esp_ble_mesh/ble_mesh_console/main/ble_mesh_reg_test_perf_client_cmd.c index e839c6efe9..a2c320e978 100644 --- a/examples/bluetooth/esp_ble_mesh/ble_mesh_console/main/ble_mesh_reg_test_perf_client_cmd.c +++ b/examples/bluetooth/esp_ble_mesh/ble_mesh_console/main/ble_mesh_reg_test_perf_client_cmd.c @@ -1,21 +1,12 @@ -// Copyright 2017-2019 Espressif Systems (Shanghai) PTE LTD -// -// Licensed 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, software -// 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. +/* + * SPDX-FileCopyrightText: 2017-2021 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "freertos/queue.h" -#include "freertos/xtensa_api.h" #include "freertos/FreeRTOSConfig.h" #include "esp_ble_mesh_networking_api.h" diff --git a/tools/ci/check_copyright_ignore.txt b/tools/ci/check_copyright_ignore.txt index a440fc6969..41a4eec291 100644 --- a/tools/ci/check_copyright_ignore.txt +++ b/tools/ci/check_copyright_ignore.txt @@ -2885,7 +2885,6 @@ examples/bluetooth/esp_ble_mesh/ble_mesh_console/main/ble_mesh_console_main.c examples/bluetooth/esp_ble_mesh/ble_mesh_console/main/ble_mesh_console_system.c examples/bluetooth/esp_ble_mesh/ble_mesh_console/main/ble_mesh_reg_cfg_client_cmd.c examples/bluetooth/esp_ble_mesh/ble_mesh_console/main/ble_mesh_reg_gen_onoff_client_cmd.c -examples/bluetooth/esp_ble_mesh/ble_mesh_console/main/ble_mesh_reg_test_perf_client_cmd.c examples/bluetooth/esp_ble_mesh/ble_mesh_console/main/ble_mesh_register_cmd.c examples/bluetooth/esp_ble_mesh/ble_mesh_console/main/ble_mesh_register_server_cmd.c examples/bluetooth/esp_ble_mesh/ble_mesh_console/main/register_bluetooth.c From fd2000184aab2a887789313312c5e1ccc754a4fb Mon Sep 17 00:00:00 2001 From: Chen Yudong Date: Wed, 1 Dec 2021 12:06:52 +0800 Subject: [PATCH 3/3] ci: add test dir examples/bluetooth/hci/controller_hci_uart_esp32 --- .gitlab/ci/pre_check.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab/ci/pre_check.yml b/.gitlab/ci/pre_check.yml index 0292603a2c..13bcbfbde2 100644 --- a/.gitlab/ci/pre_check.yml +++ b/.gitlab/ci/pre_check.yml @@ -159,6 +159,7 @@ scan_tests: CI_SCAN_TESTS_PY: ${CI_PROJECT_DIR}/tools/ci/python_packages/ttfw_idf/CIScanTests.py EXTRA_TEST_DIRS: >- examples/bluetooth/esp_ble_mesh/ble_mesh_console + examples/bluetooth/hci/controller_hci_uart_esp32 examples/wifi/iperf script: - set_component_ut_vars