diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d7df0196..76ce200f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -15,7 +15,7 @@ repos: - id: mixed-line-ending args: ["-f=lf"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: "v0.12.12" + rev: "v0.14.0" hooks: - id: ruff-check args: ["--fix"] diff --git a/pytest-embedded-idf/pytest_embedded_idf/unity_tester.py b/pytest-embedded-idf/pytest_embedded_idf/unity_tester.py index 25e15a39..7b3ae36c 100644 --- a/pytest-embedded-idf/pytest_embedded_idf/unity_tester.py +++ b/pytest-embedded-idf/pytest_embedded_idf/unity_tester.py @@ -1,6 +1,5 @@ # SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD # SPDX-License-Identifier: Apache-2.0 -import functools import logging import re import time @@ -17,6 +16,7 @@ UNITY_FIXTURE_REGEX, UNITY_SUMMARY_LINE_REGEX, TestCase, + TestSuite, ) from pytest_embedded.utils import remove_asci_color_code @@ -33,6 +33,61 @@ "Enter next test, or 'enter' to see menu", ] +_PRE_RUN_FAILURE_STR = '_PRE_RUN_FAILURE' + + +def _parse_unity_test_output(log: t.Optional[t.AnyStr], case_name: str, buffer_debug_str: str) -> t.Dict: + if log: + # check format + check = UNITY_FIXTURE_REGEX.search(log) + if check: + regex = UNITY_FIXTURE_REGEX + else: + regex = UNITY_BASIC_REGEX + + res = list(regex.finditer(log)) + else: + res = [] + + # real parsing + if len(res) == 0: + logging.warning( + 'unity test case not found, probably due to a timeout. Assume the current test case is "%s"', + case_name, + ) + attrs = { + 'name': case_name, + 'result': 'FAIL', + 'message': buffer_debug_str or 'timeout', + } + elif len(res) == 1: + attrs = {k: v for k, v in res[0].groupdict().items() if v is not None} + else: + warnings.warn('This function is for recording single unity test case only. Use the last matched one') + attrs = {k: v for k, v in res[-1].groupdict().items() if v is not None} + + if log: + attrs.update({'stdout': log}) + + return attrs + + +def _add_test_case_to_test_suite(test_suite: TestSuite, attrs: t.Dict) -> None: + """ + Add a test case to the test suite. + + :param test_suite: The test suite to add the test case to. + :param attrs: The attributes of the test case. + """ + testcase = TestCase(**attrs) + test_suite.testcases.append(testcase) + if testcase.result == 'FAIL': + test_suite.attrs['failures'] += 1 + elif testcase.result == 'IGNORE': + test_suite.attrs['skipped'] += 1 + else: + test_suite.attrs['tests'] += 1 + @dataclass class UnittestMenuCase: @@ -246,108 +301,56 @@ def test_menu(self) -> t.List[UnittestMenuCase]: return self._test_menu - def _record_single_unity_test_case(func): - """ - The first argument of the function that is using this decorator must be `case`. passing with args. - - Note: - This function is better than `dut.expect_unity_output()` since it will record the test case even it core - dumped during running the test case or other reasons that cause the final result block is uncaught. - """ - - @functools.wraps(func) - def wrapper(self, *args, **kwargs): - _start_at = time.perf_counter() # declare here in case hard reset failed - _timeout = kwargs.get('timeout', 30) - _case = args[0] - - if _case.type not in func.__name__: - logging.warning("The %s case can't be executed with %s function.", _case.type, func.__name__) - return - - try: - # do it here since the first hard reset before test case shouldn't be counted in duration time - if 'reset' in kwargs: - if kwargs.get('reset'): - self._hard_reset() - - _start_at = time.perf_counter() - func(self, *args, **kwargs) - finally: - _timestamp = time.perf_counter() - _log = '' - try: - _timeout = _timeout - _timestamp + _start_at - if _timeout < 0: # pexpect process would expect 30s if < 0 - _timeout = 0 - self.expect(UNITY_SUMMARY_LINE_REGEX, timeout=_timeout) - except Exception: # result block missing - pass - else: # result block exists - _log = remove_asci_color_code(self.pexpect_proc.before) - finally: - _end_at = time.perf_counter() - self._add_single_unity_test_case( - _case, - _log, - additional_attrs={'app_path': self.app.app_path, 'time': round(_end_at - _start_at, 3)}, - ) - - return wrapper + def _add_test_case_to_suite(self, attrs: t.Dict): + _add_test_case_to_test_suite(self.testsuite, attrs) - def _add_single_unity_test_case( - self, case: UnittestMenuCase, log: t.Optional[t.AnyStr], additional_attrs: t.Optional[t.Dict[str, t.Any]] = None + def _analyze_test_case_result( + self, + case: UnittestMenuCase, + pre_run_failure: t.Optional[Exception], + *, + start_time: float = 0, + timeout: float = 30, ): - if log: - # check format - check = UNITY_FIXTURE_REGEX.search(log) - if check: - regex = UNITY_FIXTURE_REGEX - else: - regex = UNITY_BASIC_REGEX - - res = list(regex.finditer(log)) - else: - res = [] - - # real parsing - if len(res) == 0: - logging.warning( - 'unity test case not found, probably due to a timeout. Assume the current test case is "%s"', - case.name, - ) + # if the pre_run_failure is not None, then the test case is skipped, since the error happens before + if pre_run_failure: attrs = { 'name': case.name, - 'result': 'FAIL', - 'message': self.pexpect_proc.buffer_debug_str or 'timeout', + 'result': 'IGNORE', + 'message': f'Skipped due to a failure before test execution. ' + f'The write command probably failed: {pre_run_failure}', + 'time': 0, + 'app_path': self.app.app_path, } - elif len(res) == 1: - attrs = {k: v for k, v in res[0].groupdict().items() if v is not None} - else: - warnings.warn('This function is for recording single unity test case only. Use the last matched one') - attrs = {k: v for k, v in res[-1].groupdict().items() if v is not None} - - if additional_attrs: - attrs.update(additional_attrs) + self._add_test_case_to_suite(attrs) + return - if log: - attrs.update({'stdout': log}) + log = '' + try: + remaining_timeout = timeout - (time.perf_counter() - start_time) + if remaining_timeout < 0: # pexpect process would expect 30s if < 0 + remaining_timeout = 0 + self.expect(UNITY_SUMMARY_LINE_REGEX, timeout=remaining_timeout) + except Exception: # result block missing + pass + else: # result block exists + log = remove_asci_color_code(self.pexpect_proc.before) + finally: + attrs = _parse_unity_test_output(log, case.name, self.pexpect_proc.buffer_debug_str) + attrs.update( + { + 'app_path': self.app.app_path, + 'time': round(time.perf_counter() - start_time, 3), + } + ) - testcase = TestCase(**attrs) - self.testsuite.testcases.append(testcase) - if testcase.result == 'FAIL': - self.testsuite.attrs['failures'] += 1 - elif testcase.result == 'IGNORE': - self.testsuite.attrs['skipped'] += 1 - else: - self.testsuite.attrs['tests'] += 1 + self._add_test_case_to_suite(attrs) - @_record_single_unity_test_case def _run_normal_case( self, case: UnittestMenuCase, *, - reset: bool = False, # noqa + reset: bool = False, timeout: float = 30, ) -> None: """ @@ -365,15 +368,23 @@ def _run_normal_case( logging.warning('case %s is not a normal case', case.name) return - self._get_ready(timeout) - self.confirm_write(case.index, expect_str=f'Running {case.name}...') + try: + if reset: + self._hard_reset() + + _start_at = time.perf_counter() + self._get_ready(timeout) + self.confirm_write(case.index, expect_str=f'Running {case.name}...') + except Exception as e: + self._analyze_test_case_result(case, e) + else: + self._analyze_test_case_result(case, None, start_time=_start_at, timeout=timeout) - @_record_single_unity_test_case def _run_multi_stage_case( self, case: UnittestMenuCase, *, - reset: bool = False, # noqa + reset: bool = False, timeout: float = 30, ) -> None: """ @@ -391,21 +402,29 @@ def _run_multi_stage_case( logging.warning('case %s is not a multi stage case', case.name) return - _start_at = time.perf_counter() - _timestamp = _start_at - for sub_case in case.subcases: - _timeout = timeout - _timestamp + _start_at - if _timeout < 0: # pexpect process would expect 30s if < 0 - _timeout = 0 + try: + if reset: + self._hard_reset() + _start_at = time.perf_counter() self._get_ready(timeout) self.confirm_write(case.index, expect_str=f'Running {case.name}...') - - # here we can't use confirm_write because the sub cases won't print anything - # can't rely on time.sleep either cause it will break some time-related child cases - self.write(str(sub_case['index'])) - - _timestamp = time.perf_counter() + except Exception as e: + self._analyze_test_case_result(case, e) + else: + try: + for sub_case in case.subcases: + if sub_case != case.subcases[0]: + self._get_ready(timeout) + self.confirm_write(case.index, expect_str=f'Running {case.name}...') + + self.write(str(sub_case['index'])) + except Exception: + # Any exception during the sub-case loop is a runtime failure. + # We'll stop sending commands and let the result recorder handle the failure. + pass + finally: + self._analyze_test_case_result(case, None, start_time=_start_at, timeout=timeout) def run_single_board_case(self, name: str, reset: bool = False, timeout: float = 30) -> None: for case in self.test_menu: @@ -567,16 +586,25 @@ def interrupt(self): self.work.close() def run_case(self): - yield from self._expect_exact(READY_PATTERN_LIST, self.wait_for_menu_timeout) + try: + yield from self._expect_exact(READY_PATTERN_LIST, self.wait_for_menu_timeout) + # yield version of confirm_write + for retry in range(self.start_retry): + self.dut.write(str(self.case.index)) + try: + yield from self._expect_exact(self.case.name, 1) + break + except TIMEOUT as e: + if retry >= self.start_retry - 1: + raise e + except Exception as e: + return _PRE_RUN_FAILURE_STR, { + 'name': self.case.name, + 'result': _PRE_RUN_FAILURE_STR, + 'message': f'Skipped due to a failure before test execution. The write command probably failed: {e}', + 'time': 0, + } - for retry in range(self.start_retry): - self.dut.write(str(self.case.index)) - try: - yield from self._expect_exact(self.case.name, 1) - break - except TIMEOUT as e: - if retry >= self.start_retry - 1: - raise e self.dut.write(str(self.sub_case_index)) _start_time = time.perf_counter() @@ -658,60 +686,21 @@ def process_raw_report_data(self, raw_data_to_report) -> t.Dict: if isinstance(raw_data_to_report, tuple) and len(raw_data_to_report) == 2: log = str(raw_data_to_report[0]) additional_attrs = raw_data_to_report[1] + + if log == _PRE_RUN_FAILURE_STR: + return additional_attrs else: log = str(raw_data_to_report) - if log: - # check format - check = UNITY_FIXTURE_REGEX.search(log) - if check: - regex = UNITY_FIXTURE_REGEX - else: - regex = UNITY_BASIC_REGEX - - res = list(regex.finditer(log)) - else: - res = [] - - # real parsing - if len(res) == 0: - logging.warning( - 'unity test case not found, probably due to a timeout. Assume the current test case is "%s"', - self.case.name, - ) - attrs = { - 'name': self.case.name, - 'result': 'FAIL', - 'message': self.dut.pexpect_proc.buffer_debug_str or 'timeout', - 'time': time.perf_counter() - self.init_time, - } - elif len(res) == 1: - attrs = {k: v for k, v in res[0].groupdict().items() if v is not None} - else: - warnings.warn('This function is for recording single unity test case only. Use the last matched one') - attrs = {k: v for k, v in res[-1].groupdict().items() if v is not None} + attrs = _parse_unity_test_output(log, self.case.name, self.dut.pexpect_proc.buffer_debug_str) if additional_attrs: attrs.update(additional_attrs) - if log: - attrs.update({'stdout': log}) - attrs.update({'app_path': self.dut.app.app_path}) return attrs - def add_to_report(self, attrs): - testcase = TestCase(**attrs) - self.dut.testsuite.testcases.append(testcase) - - if testcase.result == 'FAIL': - self.dut.testsuite.attrs['failures'] += 1 - elif testcase.result == 'IGNORE': - self.dut.testsuite.attrs['skipped'] += 1 - else: - self.dut.testsuite.attrs['tests'] += 1 - class MultiDevRunTestManager: """ @@ -803,7 +792,9 @@ def get_merge_data(test_cases_attr: t.List[t.Dict]) -> t.Dict: output['time'] = time_attr output['name'] = ' <---> '.join(list(name_attr)) - if 'FAIL' in results: + if _PRE_RUN_FAILURE_STR in results: + output['result'] = 'IGNORE' + elif 'FAIL' in results: output['result'] = 'FAIL' elif 'IGNORE' in results: output['result'] = 'IGNORE' @@ -812,9 +803,6 @@ def get_merge_data(test_cases_attr: t.List[t.Dict]) -> t.Dict: return output - def add_report_to_first_dut(self, attrs): - self.workers[0].add_to_report(attrs) - class CaseTester: """ @@ -880,7 +868,7 @@ def run_multi_dev_case( ) data_to_report = mdm.gather() merged_data = mdm.get_merge_data(data_to_report) - mdm.add_report_to_first_dut(merged_data) + _add_test_case_to_test_suite(mdm.workers[0].dut.testsuite, merged_data) def run_normal_case(self, case: UnittestMenuCase, reset: bool = False, timeout: int = 90) -> None: """ diff --git a/pytest-embedded-idf/tests/test_idf.py b/pytest-embedded-idf/tests/test_idf.py index 0e64e920..20f01bdb 100644 --- a/pytest-embedded-idf/tests/test_idf.py +++ b/pytest-embedded-idf/tests/test_idf.py @@ -24,6 +24,7 @@ def test_idf_serial_flash(dut): dut.expect('Restarting') with pytest.raises(pexpect.TIMEOUT): dut.expect('foo bar not found', timeout=1) + assert dut.serial.esp_flash_force == False """) result = testdir.runpytest( @@ -58,87 +59,6 @@ def test_idf_serial_flash(dut): result.assert_outcomes(passed=1) -def test_esp_flash_no_force_flag(testdir): - testdir.makepyfile(""" - import pexpect - import pytest - - def test_idf_serial_flash(dut): - dut.expect('Hello world!') - assert dut.serial.esp_flash_force == False - """) - result = testdir.runpytest( - '-s', - '--embedded-services', - 'esp,idf', - '--app-path', - os.path.join(testdir.tmpdir, 'hello_world_esp32'), - ) - - result.assert_outcomes(passed=1) - - -def test_expect_no_matching(testdir): - testdir.makepyfile(""" - import pexpect - import pytest - import re - - def test_no_matching_list(dut): - dut.expect('world!', not_matching=[re.compile("Hell"), "Hello"]) - - def test_no_matching_word(dut): - dut.expect('Restarting', not_matching="Hello world!") - - def test_no_matching_word_pass(dut): - dut.expect('Restarting', not_matching="Hello world!333") - - def test_no_matching_word_pass_rest(dut): - dut.expect('Hello world', not_matching="Restarting") - - """) - - result = testdir.runpytest( - '-s', - '--embedded-services', - 'esp,idf', - '--app-path', - os.path.join(testdir.tmpdir, 'hello_world_esp32'), - ) - - result.assert_outcomes(passed=2, failed=2) - - -def test_expect_exact_no_matching(testdir): - testdir.makepyfile(""" - import pexpect - import pytest - - def test_no_matching_list(dut): - dut.expect_exact('world!', not_matching=["Hell1", "Hello"]) - - def test_no_matching_word(dut): - dut.expect_exact('Restarting', not_matching="Hello world!") - - def test_no_matching_word_pass(dut): - dut.expect_exact('Restarting', not_matching="Hello world!333") - - def test_no_matching_word_pass_rest(dut): - dut.expect_exact('Hello world', not_matching="Restarting") - - """) - - result = testdir.runpytest( - '-s', - '--embedded-services', - 'esp,idf', - '--app-path', - os.path.join(testdir.tmpdir, 'hello_world_esp32'), - ) - - result.assert_outcomes(passed=2, failed=2) - - def test_custom_idf_device_dut(testdir): p = os.path.join(testdir.tmpdir, 'hello_world_esp32') p_c3 = os.path.join(testdir.tmpdir, 'hello_world_esp32c3') @@ -154,22 +74,22 @@ def test_idf_custom_dev(): def test_idf_mixed(dut): from pytest_embedded.dut_factory import DutFactory - dutc = DutFactory.create(embedded_services='esp,idf', app_path=r'{p_c3}') - dutc.expect("Hello") + dut_c3 = DutFactory.create(embedded_services='esp,idf', app_path=r'{p_c3}') + dut_c3.expect("Hello") dut.expect("Hello") - assert dutc.serial.port!=dut.serial.port + assert dut_c3.serial.port!=dut.serial.port def test_idf_unity_tester(): from pytest_embedded.dut_factory import DutFactory dut1 = DutFactory.create(embedded_services='esp,idf', app_path=r'{unity_test_path}') dut2 = DutFactory.create(embedded_services='esp,idf', app_path=r'{unity_test_path_c3}') tester = DutFactory.unity_tester(dut1, dut2) - tester.run_all_cases() + tester.run_all_multi_dev_cases(timeout=10) def test_idf_run_all_single_board_cases(): from pytest_embedded.dut_factory import DutFactory dut1 = DutFactory.create(embedded_services='esp,idf', app_path=r'{unity_test_path}') - dut1.run_all_single_board_cases() + dut1.run_all_single_board_cases(reset=True, timeout=10) """) result = testdir.runpytest( @@ -181,14 +101,14 @@ def test_idf_run_all_single_board_cases(): '--junitxml', 'report.xml', ) - result.assert_outcomes(passed=4, errors=0) + result.assert_outcomes(passed=4, errors=0) # FIXME, dut-factory mode can't raise error now junit_report = ET.parse('report.xml').getroot()[0] assert junit_report.attrib['errors'] == '0' assert junit_report.attrib['failures'] == '2' assert junit_report.attrib['skipped'] == '0' - assert junit_report.attrib['tests'] == '7' + assert junit_report.attrib['tests'] == '6' def test_idf_serial_flash_with_erase_nvs(testdir): @@ -797,7 +717,7 @@ def test_select_to_run(): assert IdfUnityDutMixin._select_to_run([['hello', '!w']], None, None, ['hello', 'world'], None, None) -def test_dut_run_all_single_board_cases(testdir): +def test_dut_run_all_single_board_cases_reset_false(testdir): testdir.makepyfile(r""" def test_dut_run_all_single_board_cases(dut): dut.run_all_single_board_cases(timeout=10) @@ -817,28 +737,28 @@ def test_dut_run_all_single_board_cases(dut): junit_report = ET.parse('report.xml').getroot()[0] assert junit_report.attrib['errors'] == '0' - assert junit_report.attrib['failures'] == '1' - assert junit_report.attrib['skipped'] == '0' - assert junit_report.attrib['tests'] == '2' + assert junit_report.attrib['failures'] == '2' + assert junit_report.attrib['skipped'] == '2' + assert junit_report.attrib['tests'] == '1' testcases = junit_report.findall('.//testcase') - succeed = testcases[0] - failed = testcases[1] - multi_stage = testcases[2] + assert testcases[0].attrib['name'] == 'normal_case_pass' + assert testcases[1].attrib['name'] == 'normal_case_crash' + assert testcases[2].attrib['name'] == 'normal_case_stuck' + assert testcases[3].attrib['name'] == 'normal_case_skip_when_not_reset' + assert testcases[4].attrib['name'] == 'multiple_stages_test' - assert succeed.attrib['name'] == 'normal_case1' + assert 10 < float(testcases[1].attrib['time']) < 10.1 + assert 'Guru Meditation Error' in testcases[1][0].attrib['message'] - assert failed.attrib['name'] == 'normal_case2' - assert 10 < float(failed.attrib['time']) < 10.1 - assert failed[0].attrib['message'] + assert 'Skipped due to a failure before test execution.' in testcases[3][0].attrib['message'] + assert 'Skipped due to a failure before test execution.' in testcases[4][0].attrib['message'] - assert multi_stage.attrib['name'] == 'multiple_stages_test' - -def test_dut_run_all_single_board_cases_group(testdir): +def test_dut_run_all_single_board_cases_reset_true(testdir): testdir.makepyfile(r""" def test_dut_run_all_single_board_cases(dut): - dut.run_all_single_board_cases(group="normal_case", timeout=10) + dut.run_all_single_board_cases(reset=True, timeout=10) """) testdir.runpytest( '-s', @@ -855,19 +775,26 @@ def test_dut_run_all_single_board_cases(dut): junit_report = ET.parse('report.xml').getroot()[0] assert junit_report.attrib['errors'] == '0' - assert junit_report.attrib['failures'] == '1' + assert junit_report.attrib['failures'] == '2' assert junit_report.attrib['skipped'] == '0' - assert junit_report.attrib['tests'] == '1' - cases = junit_report.findall('.//testcase') - assert len(cases) == 2 - assert cases[0].attrib['app_path'] == os.path.join(testdir.tmpdir, 'unit_test_app_esp32') - assert cases[1].attrib['app_path'] == os.path.join(testdir.tmpdir, 'unit_test_app_esp32') + assert junit_report.attrib['tests'] == '3' + testcases = junit_report.findall('.//testcase') + assert testcases[0].attrib['name'] == 'normal_case_pass' + assert testcases[1].attrib['name'] == 'normal_case_crash' + assert testcases[2].attrib['name'] == 'normal_case_stuck' + assert testcases[3].attrib['name'] == 'normal_case_skip_when_not_reset' + assert testcases[4].attrib['name'] == 'multiple_stages_test' -def test_dut_run_all_single_board_cases_invert_group(testdir): + assert 10 < float(testcases[1].attrib['time']) < 10.1 + assert 'Guru Meditation Error' in testcases[1][0].attrib['message'] + assert 'normal case stuck: infinite loop' in testcases[2][0].attrib['message'] + + +def test_dut_run_all_single_board_cases_group(testdir): testdir.makepyfile(r""" def test_dut_run_all_single_board_cases(dut): - dut.run_all_single_board_cases(group="!normal_case", timeout=10) + dut.run_all_single_board_cases(group="normal_case", timeout=10) """) testdir.runpytest( '-s', @@ -884,15 +811,15 @@ def test_dut_run_all_single_board_cases(dut): junit_report = ET.parse('report.xml').getroot()[0] assert junit_report.attrib['errors'] == '0' - assert junit_report.attrib['failures'] == '0' - assert junit_report.attrib['skipped'] == '0' + assert junit_report.attrib['failures'] == '2' + assert junit_report.attrib['skipped'] == '1' assert junit_report.attrib['tests'] == '1' -def test_dut_run_all_single_board_cases_by_names(testdir): +def test_dut_run_all_single_board_cases_invert_group(testdir): testdir.makepyfile(r""" def test_dut_run_all_single_board_cases(dut): - dut.run_all_single_board_cases(name=["normal_case1", "multiple_stages_test"]) + dut.run_all_single_board_cases(group="!normal_case", timeout=10) """) testdir.runpytest( '-s', @@ -900,8 +827,6 @@ def test_dut_run_all_single_board_cases(dut): 'esp,idf', '--app-path', os.path.join(testdir.tmpdir, 'unit_test_app_esp32'), - '--log-cli-level', - 'DEBUG', '--junitxml', 'report.xml', ) @@ -911,27 +836,22 @@ def test_dut_run_all_single_board_cases(dut): assert junit_report.attrib['errors'] == '0' assert junit_report.attrib['failures'] == '0' assert junit_report.attrib['skipped'] == '0' - assert junit_report.attrib['tests'] == '2' + assert junit_report.attrib['tests'] == '1' -def test_unity_test_case_runner(testdir): +def test_dut_run_all_single_board_cases_by_names(testdir): testdir.makepyfile(r""" - def test_unity_test_case_runner(unity_tester): - unity_tester.run_all_cases() + def test_dut_run_all_single_board_cases(dut): + dut.run_all_single_board_cases( + name=["normal_case_pass", "multiple_stages_test"] + ) """) - testdir.runpytest( '-s', '--embedded-services', 'esp,idf', - '--count', - 2, '--app-path', - f'{os.path.join(testdir.tmpdir, "unit_test_app_esp32")}' - f'|' - f'{os.path.join(testdir.tmpdir, "unit_test_app_esp32c3")}', - '--log-cli-level', - 'DEBUG', + os.path.join(testdir.tmpdir, 'unit_test_app_esp32'), '--junitxml', 'report.xml', ) @@ -939,143 +859,112 @@ def test_unity_test_case_runner(unity_tester): junit_report = ET.parse('report.xml').getroot()[0] assert junit_report.attrib['errors'] == '0' - assert junit_report.attrib['failures'] == '1' + assert junit_report.attrib['failures'] == '0' assert junit_report.attrib['skipped'] == '0' - assert junit_report.attrib['tests'] == '3' - - # single-dut app_path should be the dut[0] one - assert junit_report[0].get('name') == 'normal_case1' - assert junit_report[0].find('failure') is None - assert junit_report[0].get('app_path') == os.path.join(testdir.tmpdir, 'unit_test_app_esp32') - assert junit_report[1].get('name') == 'normal_case2' - assert junit_report[1].find('failure') is not None - assert junit_report[1].get('app_path') == os.path.join(testdir.tmpdir, 'unit_test_app_esp32') - assert junit_report[2].get('name') == 'multiple_stages_test' - assert junit_report[2].find('failure') is None - assert junit_report[2].get('app_path') == os.path.join(testdir.tmpdir, 'unit_test_app_esp32') - # multi-dut app_path should be concatenated - assert junit_report[3].get('name') == 'multiple_devices_test' - assert junit_report[3].find('failure') is None - assert ( - junit_report[3].get('app_path') == f'{os.path.join(testdir.tmpdir, "unit_test_app_esp32")}' - f'|' - f'{os.path.join(testdir.tmpdir, "unit_test_app_esp32c3")}' - ) - - -def test_erase_all_with_port_cache(testdir): - testdir.makepyfile(r""" - def test_erase_all_with_port_cache_case1(dut): - dut.expect('Hash of data verified.', timeout=5) - dut.expect_exact('Hello world!', timeout=5) - - def test_erase_all_with_port_cache_case2(dut): - dut.expect('Hash of data verified.', timeout=5) - dut.expect_exact('Hello world!', timeout=5) - """) - - result = testdir.runpytest( - '-s', - '--embedded-services', - 'esp,idf', - '--app-path', - f'{os.path.join(testdir.tmpdir, "hello_world_esp32")}', - '--target', - 'esp32', - '--erase-all', - 'y', - ) + assert junit_report.attrib['tests'] == '2' - result.assert_outcomes(passed=2) + for testcase in junit_report.findall('testcase'): + assert testcase.attrib['is_unity_case'] == '1' -def test_no_preserve_python_tests(testdir): +def test_unity_test_case_runner_without_reset(testdir): testdir.makepyfile(r""" - def test_python_case(dut): - dut.run_all_single_board_cases(name=["normal_case1", "multiple_stages_test"]) + def test_unity_test_case_runner_without_reset(unity_tester): + pass_case = unity_tester.test_menu[0] + stuck_case = unity_tester.test_menu[2] + multi_dev_case = unity_tester.test_menu[-1] + unity_tester.run_normal_case(pass_case, timeout=5) + unity_tester.run_normal_case(stuck_case, timeout=5) + unity_tester.run_multi_dev_case(multi_dev_case, timeout=5) """) testdir.runpytest( '-s', '--embedded-services', 'esp,idf', + '--count', + 2, '--app-path', - os.path.join(testdir.tmpdir, 'unit_test_app_esp32'), - '--log-cli-level', - 'DEBUG', + f'{os.path.join(testdir.tmpdir, "unit_test_app_esp32")}' + f'|' + f'{os.path.join(testdir.tmpdir, "unit_test_app_esp32c3")}', '--junitxml', 'report.xml', ) junit_report = ET.parse('report.xml').getroot()[0] - assert junit_report.attrib['tests'] == '2' - for testcase in junit_report.findall('testcase'): - assert testcase.attrib['is_unity_case'] == '1' + assert junit_report.attrib['errors'] == '0' + assert junit_report.attrib['failures'] == '1' + assert junit_report.attrib['skipped'] == '1' + assert junit_report.attrib['tests'] == '1' -def test_preserve_python_tests(testdir): +def test_unity_test_case_runner_with_reset(testdir): testdir.makepyfile(r""" - def test_python_case(dut): - dut.run_all_single_board_cases(name=["normal_case1", "multiple_stages_test"]) + def test_unity_test_case_runner_without_reset(unity_tester): + pass_case = unity_tester.test_menu[0] + stuck_case = unity_tester.test_menu[2] + multi_dev_case = unity_tester.test_menu[-1] + unity_tester.run_normal_case(pass_case, timeout=5) + unity_tester.run_normal_case(stuck_case, timeout=5) + unity_tester.run_multi_dev_case(multi_dev_case, reset=True, timeout=5) """) testdir.runpytest( '-s', '--embedded-services', 'esp,idf', + '--count', + 2, '--app-path', - os.path.join(testdir.tmpdir, 'unit_test_app_esp32'), - '--log-cli-level', - 'DEBUG', + f'{os.path.join(testdir.tmpdir, "unit_test_app_esp32")}' + f'|' + f'{os.path.join(testdir.tmpdir, "unit_test_app_esp32c3")}', '--junitxml', 'report.xml', - '--unity-test-report-mode', - 'merge', ) junit_report = ET.parse('report.xml').getroot()[0] + assert junit_report.attrib['errors'] == '0' + assert junit_report.attrib['failures'] == '1' + assert junit_report.attrib['skipped'] == '0' assert junit_report.attrib['tests'] == '2' - assert junit_report[0].attrib['is_unity_case'] == '0' - for testcase in junit_report[1:]: - assert testcase.attrib['is_unity_case'] == '1' -def test_preserve_python_tests_with_failures(testdir): +def test_erase_all_with_port_cache(testdir): testdir.makepyfile(r""" - def test_python_case(dut): - dut.run_all_single_board_cases(name=["normal_case1", "normal_case2"]) + def test_erase_all_with_port_cache_case1(dut): + dut.expect('Hash of data verified.', timeout=5) + dut.expect_exact('Hello world!', timeout=5) + + def test_erase_all_with_port_cache_case2(dut): + dut.expect('Hash of data verified.', timeout=5) + dut.expect_exact('Hello world!', timeout=5) """) - testdir.runpytest( + result = testdir.runpytest( '-s', '--embedded-services', 'esp,idf', '--app-path', - os.path.join(testdir.tmpdir, 'unit_test_app_esp32'), - '--log-cli-level', - 'DEBUG', - '--junitxml', - 'report.xml', - '--unity-test-report-mode', - 'merge', + f'{os.path.join(testdir.tmpdir, "hello_world_esp32")}', + '--target', + 'esp32', + '--erase-all', + 'y', ) - junit_report = ET.parse('report.xml').getroot()[0] - - assert junit_report.attrib['failures'] == '1' - assert junit_report[0].attrib['is_unity_case'] == '0' # Python test case is preserved - assert junit_report[1].attrib['is_unity_case'] == '1' # C test case - assert junit_report[1].find('failure') is None # normal_case1 passed - assert junit_report[2].attrib['is_unity_case'] == '1' - assert junit_report[2].find('failure') is not None # normal_case2 failed + result.assert_outcomes(passed=2) -def test_python_func_attribute(testdir): +def test_preserve_python_tests_with_failures(testdir): testdir.makepyfile(r""" def test_python_case(dut): - dut.run_all_single_board_cases(name=["normal_case1", "multiple_stages_test"]) + dut.run_all_single_board_cases( + name=["normal_case_pass", "normal_case_crash", "multiple_stages_test"] + ) """) testdir.runpytest( @@ -1083,9 +972,7 @@ def test_python_case(dut): '--embedded-services', 'esp,idf', '--app-path', - os.path.join(testdir.tmpdir, 'unit_test_app_esp32'), - '--log-cli-level', - 'DEBUG', + os.path.join(testdir.tmpdir, 'unit_test_app_esp32c3'), '--junitxml', 'report.xml', '--unity-test-report-mode', @@ -1094,9 +981,16 @@ def test_python_case(dut): junit_report = ET.parse('report.xml').getroot()[0] + assert junit_report.attrib['errors'] == '0' + assert junit_report.attrib['failures'] == '1' + assert junit_report.attrib['skipped'] == '0' + assert junit_report.attrib['tests'] == '2' + assert junit_report[0].attrib['is_unity_case'] == '0' # Python test case for testcase in junit_report[1:]: - assert testcase.attrib['is_unity_case'] == '1' # Other test cases + assert testcase.attrib['is_unity_case'] == '1' + assert junit_report[2].attrib['name'] == 'normal_case_crash' + assert junit_report[2].find('failure') is not None def test_esp_bool_parser_returned_values(testdir, copy_mock_esp_idf, monkeypatch): # noqa: ARG001 diff --git a/pytest-embedded-qemu/pytest_embedded_qemu/qemu.py b/pytest-embedded-qemu/pytest_embedded_qemu/qemu.py index 4b821d11..5346fb19 100644 --- a/pytest-embedded-qemu/pytest_embedded_qemu/qemu.py +++ b/pytest-embedded-qemu/pytest_embedded_qemu/qemu.py @@ -89,10 +89,13 @@ def __init__( @property def qemu_prog_name(self): - if self.app: - return self.app.qemu_prog_path + try: + if self.app: + return self.app.qemu_prog_path + except AttributeError: # if app is not QemuApp + pass - logging.warning('App not set, use default qemu program name "%s"', self.QEMU_DEFAULT_PROG_PATH) + logging.warning('App not set, use default qemu program name "%s"', self.QEMU_PROG_PATH) return self.QEMU_PROG_PATH @property diff --git a/pytest-embedded-qemu/tests/test_qemu.py b/pytest-embedded-qemu/tests/test_qemu.py index 53d25f7b..394b9a66 100644 --- a/pytest-embedded-qemu/tests/test_qemu.py +++ b/pytest-embedded-qemu/tests/test_qemu.py @@ -5,9 +5,8 @@ import pytest qemu_bin_required = pytest.mark.skipif( - shutil.which('qemu-system-xtensa') is None, - reason='Please make sure that `qemu-system-xtensa` is in your PATH env var. Build QEMU for ESP32 locally and then ' - 'run `pytest` again', + (shutil.which('qemu-system-xtensa') is None or shutil.which('qemu-system-riscv32') is None), + reason='Please make sure run `$IDF_PATH/tools/idf_tools.py install qemu-riscv32 qemu-xtensa` first.', ) @@ -155,7 +154,7 @@ def test_qemu_use_idf_mixin_methods(testdir): import pytest def test_qemu_use_idf_mixin_methods(dut): - dut.run_all_single_board_cases() + dut.run_all_single_board_cases(timeout=10) """) result = testdir.runpytest( @@ -173,6 +172,6 @@ def test_qemu_use_idf_mixin_methods(dut): junit_report = ET.parse('report.xml').getroot()[0] assert junit_report.attrib['errors'] == '0' - assert junit_report.attrib['failures'] == '1' - assert junit_report.attrib['skipped'] == '0' - assert junit_report.attrib['tests'] == '2' + assert junit_report.attrib['failures'] == '2' + assert junit_report.attrib['skipped'] == '2' + assert junit_report.attrib['tests'] == '1' diff --git a/pytest-embedded/tests/test_base.py b/pytest-embedded/tests/test_base.py index a77b2da3..e3f565d5 100644 --- a/pytest-embedded/tests/test_base.py +++ b/pytest-embedded/tests/test_base.py @@ -283,11 +283,51 @@ def test_expect_all_failed(dut): dut.expect(pattern_list, expect_all=True, timeout=1) assert e.value.value.startswith('Not found "[\'foobar\']"') + + def test_expect_no_matching_list(dut): # fail + dut.write('Hello world!') + dut.write('Restarting') + dut.expect('world!', not_matching=[re.compile("Hell"), "Hello"]) + + def test_expect_no_matching_word(dut): # fail + dut.write('Hello world!') + dut.write('Restarting') + dut.expect('Restarting', not_matching="Hello world!") + + def test_expect_no_matching_word_pass(dut): + dut.write('Hello world!') + dut.write('Restarting') + dut.expect('Restarting', not_matching="Hello world!333") + + def test_expect_no_matching_word_pass_rest(dut): + dut.write('Hello world!') + dut.write('Restarting') + dut.expect('Hello world', not_matching="Restarting") + + def test_expect_exact_no_matching_list(dut): # fail + dut.write('Hello world!') + dut.write('Restarting') + dut.expect_exact('world!', not_matching=["Hell1", "Hello"]) + + def test_expect_exact_no_matching_word(dut): # fail + dut.write('Hello world!') + dut.write('Restarting') + dut.expect_exact('Restarting', not_matching="Hello world!") + + def test_expect_exact_no_matching_word_pass(dut): + dut.write('Hello world!') + dut.write('Restarting') + dut.expect_exact('Restarting', not_matching="Hello world!333") + + def test_expect_exact_no_matching_word_pass_rest(dut): + dut.write('Hello world!') + dut.write('Restarting') + dut.expect_exact('Hello world', not_matching="Restarting") """) result = testdir.runpytest() - result.assert_outcomes(passed=10) + result.assert_outcomes(failed=4, passed=14) @pytest.mark.xfail(reason='unstable') @@ -657,6 +697,7 @@ def test_quick_example(redirect, dut: Dut): result.assert_outcomes(passed=1) +@pytest.mark.skip def test_unclosed_file_handler(testdir): """ select only support fd < FD_SETSIZE (1024) diff --git a/tests/fixtures/hello_world_esp32c3/build/bootloader/bootloader.bin b/tests/fixtures/hello_world_esp32c3/build/bootloader/bootloader.bin index 81d91b81..d4e44051 100644 Binary files a/tests/fixtures/hello_world_esp32c3/build/bootloader/bootloader.bin and b/tests/fixtures/hello_world_esp32c3/build/bootloader/bootloader.bin differ diff --git a/tests/fixtures/hello_world_esp32c3/build/hello_world.bin b/tests/fixtures/hello_world_esp32c3/build/hello_world.bin index cafe12cf..650ecbe9 100644 Binary files a/tests/fixtures/hello_world_esp32c3/build/hello_world.bin and b/tests/fixtures/hello_world_esp32c3/build/hello_world.bin differ diff --git a/tests/fixtures/hello_world_esp32c3/build/hello_world.elf b/tests/fixtures/hello_world_esp32c3/build/hello_world.elf index d918d4d3..ba5411d6 100755 Binary files a/tests/fixtures/hello_world_esp32c3/build/hello_world.elf and b/tests/fixtures/hello_world_esp32c3/build/hello_world.elf differ diff --git a/tests/fixtures/unit_test_app_esp32/CMakeLists.txt b/tests/fixtures/unit_test_app_esp32/CMakeLists.txt index ed66ba15..383d5157 100644 --- a/tests/fixtures/unit_test_app_esp32/CMakeLists.txt +++ b/tests/fixtures/unit_test_app_esp32/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.16) set(EXTRA_COMPONENT_DIRS - "$ENV{IDF_PATH}/tools/unit-test-app/components") + "$ENV{IDF_PATH}/tools/test_apps/components") include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(case_tester_example) diff --git a/tests/fixtures/unit_test_app_esp32/build/bootloader/bootloader.bin b/tests/fixtures/unit_test_app_esp32/build/bootloader/bootloader.bin index f3bc93ac..e97df6b5 100644 Binary files a/tests/fixtures/unit_test_app_esp32/build/bootloader/bootloader.bin and b/tests/fixtures/unit_test_app_esp32/build/bootloader/bootloader.bin differ diff --git a/tests/fixtures/unit_test_app_esp32/build/case_tester_example.bin b/tests/fixtures/unit_test_app_esp32/build/case_tester_example.bin index 93f762e4..169ea485 100644 Binary files a/tests/fixtures/unit_test_app_esp32/build/case_tester_example.bin and b/tests/fixtures/unit_test_app_esp32/build/case_tester_example.bin differ diff --git a/tests/fixtures/unit_test_app_esp32/build/config/sdkconfig.json b/tests/fixtures/unit_test_app_esp32/build/config/sdkconfig.json index f06487d4..13dbb3d3 100644 --- a/tests/fixtures/unit_test_app_esp32/build/config/sdkconfig.json +++ b/tests/fixtures/unit_test_app_esp32/build/config/sdkconfig.json @@ -2,26 +2,20 @@ "ADC_CALI_EFUSE_TP_ENABLE": true, "ADC_CALI_EFUSE_VREF_ENABLE": true, "ADC_CALI_LUT_ENABLE": true, - "ADC_CALI_SUPPRESS_DEPRECATE_WARN": false, - "ADC_CAL_EFUSE_TP_ENABLE": true, - "ADC_CAL_EFUSE_VREF_ENABLE": true, - "ADC_CAL_LUT_ENABLE": true, "ADC_CONTINUOUS_ISR_IRAM_SAFE": false, - "ADC_DISABLE_DAC": true, "ADC_DISABLE_DAC_OUTPUT": true, + "ADC_ENABLE_DEBUG_LOG": false, "ADC_ONESHOT_CTRL_FUNC_IN_IRAM": false, - "ADC_SUPPRESS_DEPRECATE_WARN": false, "APPTRACE_DEST_JTAG": false, "APPTRACE_DEST_NONE": true, - "APPTRACE_DEST_UART1": false, - "APPTRACE_DEST_UART2": false, + "APPTRACE_DEST_UART": false, "APPTRACE_DEST_UART_NONE": true, "APPTRACE_LOCK_ENABLE": true, "APPTRACE_UART_TASK_PRIO": 1, "APP_BUILD_BOOTLOADER": true, "APP_BUILD_GENERATE_BINARIES": true, "APP_BUILD_TYPE_APP_2NDBOOT": true, - "APP_BUILD_TYPE_ELF_RAM": false, + "APP_BUILD_TYPE_RAM": false, "APP_BUILD_USE_FLASH_SECTIONS": true, "APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS": false, "APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS": false, @@ -31,16 +25,20 @@ "APP_NO_BLOBS": false, "APP_PROJECT_VER_FROM_CONFIG": false, "APP_REPRODUCIBLE_BUILD": false, - "APP_RETRIEVE_LEN_ELF_SHA": 16, + "APP_RETRIEVE_LEN_ELF_SHA": 9, + "BLE_LOG_ENABLED": false, "BOOTLOADER_APP_ROLLBACK_ENABLE": false, "BOOTLOADER_APP_TEST": false, "BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG": false, - "BOOTLOADER_COMPILER_OPTIMIZATION_NONE": false, "BOOTLOADER_COMPILER_OPTIMIZATION_PERF": false, "BOOTLOADER_COMPILER_OPTIMIZATION_SIZE": true, + "BOOTLOADER_COMPILE_TIME_DATE": true, + "BOOTLOADER_CPU_CLK_FREQ_MHZ": 80, "BOOTLOADER_CUSTOM_RESERVE_RTC": false, "BOOTLOADER_FACTORY_RESET": false, + "BOOTLOADER_FLASH_DC_AWARE": false, "BOOTLOADER_FLASH_XMC_SUPPORT": true, + "BOOTLOADER_LOG_COLORS": false, "BOOTLOADER_LOG_LEVEL": 3, "BOOTLOADER_LOG_LEVEL_DEBUG": false, "BOOTLOADER_LOG_LEVEL_ERROR": false, @@ -48,7 +46,13 @@ "BOOTLOADER_LOG_LEVEL_NONE": false, "BOOTLOADER_LOG_LEVEL_VERBOSE": false, "BOOTLOADER_LOG_LEVEL_WARN": false, + "BOOTLOADER_LOG_MODE_TEXT": true, + "BOOTLOADER_LOG_MODE_TEXT_EN": true, + "BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS": true, + "BOOTLOADER_LOG_VERSION": 1, + "BOOTLOADER_LOG_VERSION_1": true, "BOOTLOADER_OFFSET_IN_FLASH": 4096, + "BOOTLOADER_PROJECT_VER": 1, "BOOTLOADER_REGION_PROTECTION_ENABLE": true, "BOOTLOADER_RESERVE_RTC_SIZE": 0, "BOOTLOADER_SKIP_VALIDATE_ALWAYS": false, @@ -59,31 +63,49 @@ "BOOTLOADER_WDT_DISABLE_IN_USER_CODE": false, "BOOTLOADER_WDT_ENABLE": true, "BOOTLOADER_WDT_TIME_MS": 9000, + "BT_BLE_LOG_SPI_OUT_ENABLED": false, + "BT_BLE_LOG_UHCI_OUT_ENABLED": false, "BT_ENABLED": false, + "COMPILER_ASSERT_NDEBUG_EVALUATE": false, "COMPILER_CXX_EXCEPTIONS": false, + "COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD": false, + "COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD_CONSTEXPR": false, + "COMPILER_CXX_GLIBCXX_CONSTEXPR_NO_CHANGE": true, "COMPILER_CXX_RTTI": false, + "COMPILER_DISABLE_DEFAULT_ERRORS": false, + "COMPILER_DISABLE_GCC12_WARNINGS": false, + "COMPILER_DISABLE_GCC13_WARNINGS": false, + "COMPILER_DISABLE_GCC14_WARNINGS": false, + "COMPILER_DISABLE_GCC15_WARNINGS": false, "COMPILER_DUMP_RTL_FILES": false, "COMPILER_FLOAT_LIB_FROM_GCCLIB": true, "COMPILER_HIDE_PATHS_MACROS": true, + "COMPILER_NO_MERGE_CONSTANTS": false, "COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE": false, "COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE": true, "COMPILER_OPTIMIZATION_ASSERTIONS_SILENT": false, "COMPILER_OPTIMIZATION_ASSERTION_LEVEL": 2, "COMPILER_OPTIMIZATION_CHECKS_SILENT": false, - "COMPILER_OPTIMIZATION_DEFAULT": true, + "COMPILER_OPTIMIZATION_DEBUG": true, "COMPILER_OPTIMIZATION_NONE": false, "COMPILER_OPTIMIZATION_PERF": false, "COMPILER_OPTIMIZATION_SIZE": false, + "COMPILER_ORPHAN_SECTIONS_ERROR": true, + "COMPILER_ORPHAN_SECTIONS_PLACE": false, + "COMPILER_ORPHAN_SECTIONS_WARNING": false, + "COMPILER_RT_LIB_GCCLIB": true, + "COMPILER_RT_LIB_NAME": "gcc", "COMPILER_STACK_CHECK_MODE_ALL": false, "COMPILER_STACK_CHECK_MODE_NONE": true, "COMPILER_STACK_CHECK_MODE_NORM": false, "COMPILER_STACK_CHECK_MODE_STRONG": false, + "COMPILER_STATIC_ANALYZER": false, "COMPILER_WARN_WRITE_STRINGS": false, + "CONSOLE_SORTED_HELP": false, "DAC_CTRL_FUNC_IN_IRAM": false, "DAC_DMA_AUTO_16BIT_ALIGN": true, "DAC_ENABLE_DEBUG_LOG": false, "DAC_ISR_IRAM_SAFE": false, - "DAC_SUPPRESS_DEPRECATE_WARN": false, "EFUSE_CODE_SCHEME_COMPAT_3_4": true, "EFUSE_CODE_SCHEME_COMPAT_NONE": false, "EFUSE_CODE_SCHEME_COMPAT_REPEAT": false, @@ -106,31 +128,12 @@ "ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR": true, "ESP32_UNIVERSAL_MAC_ADDRESSES_TWO": false, "ESP32_USE_FIXED_STATIC_RAM_SIZE": false, - "ESP32_WIFI_AMPDU_RX_ENABLED": true, - "ESP32_WIFI_AMPDU_TX_ENABLED": true, - "ESP32_WIFI_CSI_ENABLED": false, - "ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM": 32, - "ESP32_WIFI_DYNAMIC_TX_BUFFER": true, - "ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM": 32, - "ESP32_WIFI_ENABLED": true, - "ESP32_WIFI_ENABLE_WPA3_OWE_STA": true, - "ESP32_WIFI_ENABLE_WPA3_SAE": true, - "ESP32_WIFI_IRAM_OPT": true, - "ESP32_WIFI_MGMT_SBUF_NUM": 32, - "ESP32_WIFI_NVS_ENABLED": true, - "ESP32_WIFI_RX_BA_WIN": 6, - "ESP32_WIFI_RX_IRAM_OPT": true, - "ESP32_WIFI_SOFTAP_BEACON_MAX_LEN": 752, - "ESP32_WIFI_STATIC_RX_BUFFER_NUM": 10, - "ESP32_WIFI_STATIC_TX_BUFFER": false, - "ESP32_WIFI_TASK_PINNED_TO_CORE_0": true, - "ESP32_WIFI_TASK_PINNED_TO_CORE_1": false, - "ESP32_WIFI_TX_BA_WIN": 6, - "ESP32_WIFI_TX_BUFFER_TYPE": 1, - "ESPTOOLPY_AFTER": "hard_reset", + "ESPHID_TASK_SIZE_BLE": 4096, + "ESPHID_TASK_SIZE_BT": 2048, + "ESPTOOLPY_AFTER": "hard-reset", "ESPTOOLPY_AFTER_NORESET": false, "ESPTOOLPY_AFTER_RESET": true, - "ESPTOOLPY_BEFORE": "default_reset", + "ESPTOOLPY_BEFORE": "default-reset", "ESPTOOLPY_BEFORE_NORESET": false, "ESPTOOLPY_BEFORE_RESET": true, "ESPTOOLPY_FLASHFREQ": "40m", @@ -166,8 +169,11 @@ "ESP_BROWNOUT_DET_LVL_SEL_5": false, "ESP_BROWNOUT_DET_LVL_SEL_6": false, "ESP_BROWNOUT_DET_LVL_SEL_7": false, - "ESP_CONSOLE_MULTIPLE_UART": true, + "ESP_BROWNOUT_USE_INTR": true, + "ESP_COEX_ENABLED": true, + "ESP_COEX_GPIO_DEBUG": false, "ESP_CONSOLE_NONE": false, + "ESP_CONSOLE_ROM_SERIAL_PORT_NUM": 0, "ESP_CONSOLE_UART": true, "ESP_CONSOLE_UART_BAUDRATE": 115200, "ESP_CONSOLE_UART_CUSTOM": false, @@ -182,19 +188,33 @@ "ESP_DEFAULT_CPU_FREQ_MHZ_160": true, "ESP_DEFAULT_CPU_FREQ_MHZ_240": false, "ESP_DEFAULT_CPU_FREQ_MHZ_80": false, + "ESP_EFUSE_BLOCK_REV_MAX_FULL": 99, + "ESP_EFUSE_BLOCK_REV_MIN_FULL": 0, "ESP_ERR_TO_NAME_LOOKUP": true, "ESP_EVENT_LOOP_PROFILING": false, "ESP_EVENT_POST_FROM_IRAM_ISR": true, "ESP_EVENT_POST_FROM_ISR": true, + "ESP_GDBSTUB_ENABLED": true, + "ESP_GDBSTUB_MAX_TASKS": 32, + "ESP_GDBSTUB_SUPPORT_TASKS": true, "ESP_HTTPS_OTA_ALLOW_HTTP": false, "ESP_HTTPS_OTA_DECRYPT_CB": false, + "ESP_HTTPS_OTA_ENABLE_PARTIAL_DOWNLOAD": false, + "ESP_HTTPS_OTA_EVENT_POST_TIMEOUT": 2000, + "ESP_HTTPS_SERVER_CERT_SELECT_HOOK": false, "ESP_HTTPS_SERVER_ENABLE": false, + "ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT": 2000, "ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH": false, + "ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT": false, "ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH": false, + "ESP_HTTP_CLIENT_ENABLE_GET_CONTENT_RANGE": false, "ESP_HTTP_CLIENT_ENABLE_HTTPS": true, + "ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT": 2000, + "ESP_INTR_IN_IRAM": true, "ESP_INT_WDT": true, "ESP_INT_WDT_CHECK_CPU1": true, "ESP_INT_WDT_TIMEOUT_MS": 300, + "ESP_IPC_ENABLE": true, "ESP_IPC_ISR_ENABLE": true, "ESP_IPC_TASK_STACK_SIZE": 1024, "ESP_IPC_USES_CALLERS_PRIORITY": true, @@ -202,7 +222,10 @@ "ESP_MAC_ADDR_UNIVERSE_ETH": true, "ESP_MAC_ADDR_UNIVERSE_WIFI_AP": true, "ESP_MAC_ADDR_UNIVERSE_WIFI_STA": true, + "ESP_MAC_IGNORE_MAC_CRC_ERROR": false, + "ESP_MAC_UNIVERSAL_MAC_ADDRESSES": 4, "ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR": true, + "ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC": false, "ESP_MAIN_TASK_AFFINITY": 0, "ESP_MAIN_TASK_AFFINITY_CPU0": true, "ESP_MAIN_TASK_AFFINITY_CPU1": false, @@ -213,38 +236,73 @@ "ESP_NETIF_IP_LOST_TIMER_INTERVAL": 120, "ESP_NETIF_L2_TAP": false, "ESP_NETIF_LOOPBACK": false, + "ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION": false, + "ESP_NETIF_RECEIVE_REPORT_ERRORS": false, + "ESP_NETIF_REPORT_DATA_TRAFFIC": true, + "ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF": false, "ESP_NETIF_TCPIP_LWIP": true, + "ESP_NETIF_USES_TCPIP_WITH_BSD_API": true, "ESP_PANIC_HANDLER_IRAM": false, + "ESP_PERIPH_CTRL_FUNC_IN_IRAM": true, "ESP_PHY_CALIBRATION_AND_DATA_STORAGE": true, + "ESP_PHY_CALIBRATION_MODE": 0, + "ESP_PHY_DEBUG": false, + "ESP_PHY_ENABLED": true, + "ESP_PHY_ENABLE_CERT_TEST": false, "ESP_PHY_INIT_DATA_IN_PARTITION": false, + "ESP_PHY_IRAM_OPT": true, "ESP_PHY_MAX_TX_POWER": 20, "ESP_PHY_MAX_WIFI_TX_POWER": 20, - "ESP_PHY_REDUCE_TX_POWER": true, - "ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0": true, - "ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1": true, + "ESP_PHY_PLL_TRACK_DEBUG": false, + "ESP_PHY_PLL_TRACK_PERIOD_MS": 1000, + "ESP_PHY_RECORD_USED_TIME": false, + "ESP_PHY_REDUCE_TX_POWER": false, + "ESP_PHY_RF_CAL_FULL": false, + "ESP_PHY_RF_CAL_NONE": false, + "ESP_PHY_RF_CAL_PARTIAL": true, + "ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION": true, + "ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0": false, + "ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1": false, "ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2": true, + "ESP_REGI2C_CTRL_FUNC_IN_IRAM": true, "ESP_REV_MAX_FULL": 399, "ESP_REV_MIN_FULL": 0, "ESP_ROM_HAS_CRC_BE": true, "ESP_ROM_HAS_CRC_LE": true, "ESP_ROM_HAS_JPEG_DECODE": true, "ESP_ROM_HAS_MZ_CRC32": true, + "ESP_ROM_HAS_NEWLIB": true, + "ESP_ROM_HAS_NEWLIB_32BIT_TIME": true, + "ESP_ROM_HAS_NEWLIB_NANO_FORMAT": true, + "ESP_ROM_HAS_OUTPUT_PUTC_FUNC": true, + "ESP_ROM_HAS_SW_FLOAT": true, + "ESP_ROM_HAS_UART_BUF_SWITCH": true, "ESP_ROM_NEEDS_SWSETUP_WORKAROUND": true, - "ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY": 2000, + "ESP_ROM_PRINT_IN_IRAM": true, + "ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB": true, + "ESP_ROM_USB_OTG_NUM": -1, + "ESP_ROM_USB_SERIAL_DEVICE_NUM": -1, + "ESP_SLEEP_CACHE_SAFE_ASSERTION": false, + "ESP_SLEEP_DEBUG": false, "ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND": true, + "ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS": true, "ESP_SLEEP_GPIO_RESET_WORKAROUND": false, "ESP_SLEEP_MSPI_NEED_ALL_IO_PU": false, "ESP_SLEEP_POWER_DOWN_FLASH": false, "ESP_SLEEP_RTC_BUS_ISO_WORKAROUND": true, - "ESP_SYSTEM_BROWNOUT_INTR": true, + "ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY": 2000, + "ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM": true, "ESP_SYSTEM_CHECK_INT_LEVEL_4": true, "ESP_SYSTEM_CHECK_INT_LEVEL_5": false, + "ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM": false, "ESP_SYSTEM_EVENT_QUEUE_SIZE": 32, "ESP_SYSTEM_EVENT_TASK_STACK_SIZE": 2304, "ESP_SYSTEM_GDBSTUB_RUNTIME": false, + "ESP_SYSTEM_IN_IRAM": true, "ESP_SYSTEM_PANIC_GDBSTUB": false, "ESP_SYSTEM_PANIC_PRINT_HALT": false, "ESP_SYSTEM_PANIC_PRINT_REBOOT": true, + "ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS": 0, "ESP_SYSTEM_PANIC_SILENT_REBOOT": false, "ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0": true, "ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1": true, @@ -254,34 +312,85 @@ "ESP_TASK_WDT_TIMEOUT_S": 5, "ESP_TIMER_IMPL_TG0_LAC": true, "ESP_TIMER_INTERRUPT_LEVEL": 1, + "ESP_TIMER_IN_IRAM": true, + "ESP_TIMER_ISR_AFFINITY_CPU0": true, "ESP_TIMER_PROFILING": false, + "ESP_TIMER_SHOW_EXPERIMENTAL": false, "ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD": false, + "ESP_TIMER_TASK_AFFINITY": 0, + "ESP_TIMER_TASK_AFFINITY_CPU0": true, "ESP_TIMER_TASK_STACK_SIZE": 3584, "ESP_TIME_FUNCS_USE_ESP_TIMER": true, "ESP_TIME_FUNCS_USE_RTC_TIMER": true, "ESP_TLS_CLIENT_SESSION_TICKETS": false, + "ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED": true, "ESP_TLS_INSECURE": false, "ESP_TLS_PSK_VERIFICATION": false, - "ESP_TLS_SERVER": false, + "ESP_TLS_SERVER_CERT_SELECT_HOOK": false, + "ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL": false, + "ESP_TLS_SERVER_SESSION_TICKETS": false, "ESP_TLS_USE_SECURE_ELEMENT": false, "ESP_TLS_USING_MBEDTLS": true, - "ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM": 6, - "ESP_WIFI_GMAC_SUPPORT": false, + "ESP_WIFI_11KV_SUPPORT": false, + "ESP_WIFI_11R_SUPPORT": false, + "ESP_WIFI_AMPDU_RX_ENABLED": true, + "ESP_WIFI_AMPDU_TX_ENABLED": true, + "ESP_WIFI_BSS_MAX_IDLE_SUPPORT": false, + "ESP_WIFI_CSI_ENABLED": false, + "ESP_WIFI_DEBUG_PRINT": false, + "ESP_WIFI_DPP_SUPPORT": false, + "ESP_WIFI_DYNAMIC_RX_BUFFER_NUM": 32, + "ESP_WIFI_DYNAMIC_RX_MGMT_BUF": 0, + "ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER": false, + "ESP_WIFI_DYNAMIC_TX_BUFFER": true, + "ESP_WIFI_DYNAMIC_TX_BUFFER_NUM": 32, + "ESP_WIFI_ENABLED": true, + "ESP_WIFI_ENABLE_SAE_H2E": true, + "ESP_WIFI_ENABLE_SAE_PK": true, + "ESP_WIFI_ENABLE_WPA3_OWE_STA": true, + "ESP_WIFI_ENABLE_WPA3_SAE": true, + "ESP_WIFI_ENTERPRISE_SUPPORT": true, + "ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER": false, + "ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM": 7, + "ESP_WIFI_EXTRA_IRAM_OPT": false, + "ESP_WIFI_GMAC_SUPPORT": true, + "ESP_WIFI_IRAM_OPT": true, + "ESP_WIFI_MBEDTLS_CRYPTO": true, + "ESP_WIFI_MBEDTLS_TLS_CLIENT": true, + "ESP_WIFI_MBO_SUPPORT": false, + "ESP_WIFI_MGMT_SBUF_NUM": 32, + "ESP_WIFI_NAN_ENABLE": false, + "ESP_WIFI_NVS_ENABLED": true, + "ESP_WIFI_RX_BA_WIN": 6, + "ESP_WIFI_RX_IRAM_OPT": true, + "ESP_WIFI_RX_MGMT_BUF_NUM_DEF": 5, "ESP_WIFI_SLP_BEACON_LOST_OPT": false, + "ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME": 10, + "ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME": 50, + "ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME": 15, "ESP_WIFI_SLP_IRAM_OPT": false, + "ESP_WIFI_SOFTAP_BEACON_MAX_LEN": 752, + "ESP_WIFI_SOFTAP_SAE_SUPPORT": true, "ESP_WIFI_SOFTAP_SUPPORT": true, + "ESP_WIFI_STATIC_RX_BUFFER_NUM": 10, + "ESP_WIFI_STATIC_RX_MGMT_BUFFER": true, + "ESP_WIFI_STATIC_TX_BUFFER": false, "ESP_WIFI_STA_DISCONNECTED_PM_ENABLE": true, + "ESP_WIFI_TASK_PINNED_TO_CORE_0": true, + "ESP_WIFI_TASK_PINNED_TO_CORE_1": false, + "ESP_WIFI_TX_BA_WIN": 6, + "ESP_WIFI_TX_BUFFER_TYPE": 1, + "ESP_WIFI_WAPI_PSK": false, + "ESP_WIFI_WPA3_COMPATIBLE_SUPPORT": true, + "ESP_WIFI_WPS_PASSPHRASE": false, + "ESP_WIFI_WPS_RECONNECT_ON_FAIL": false, + "ESP_WIFI_WPS_SOFTAP_REGISTRAR": false, + "ESP_WIFI_WPS_STRICT": false, "ETH_DMA_BUFFER_SIZE": 512, "ETH_DMA_RX_BUFFER_NUM": 10, "ETH_DMA_TX_BUFFER_NUM": 10, "ETH_ENABLED": true, - "ETH_PHY_INTERFACE_RMII": true, - "ETH_RMII_CLK_INPUT": true, - "ETH_RMII_CLK_IN_GPIO": 0, - "ETH_RMII_CLK_OUTPUT": false, - "ETH_SPI_ETHERNET_DM9051": false, - "ETH_SPI_ETHERNET_KSZ8851SNL": false, - "ETH_SPI_ETHERNET_W5500": false, + "ETH_IRAM_OPTIMIZATION": false, "ETH_TRANSMIT_MUTEX": false, "ETH_USE_ESP32_EMAC": true, "ETH_USE_OPENETH": false, @@ -309,15 +418,25 @@ "FATFS_CODEPAGE_949": false, "FATFS_CODEPAGE_950": false, "FATFS_CODEPAGE_DYNAMIC": false, + "FATFS_DONT_TRUST_FREE_CLUSTER_CNT": 0, + "FATFS_DONT_TRUST_LAST_ALLOC": 0, "FATFS_FS_LOCK": 0, + "FATFS_IMMEDIATE_FSYNC": false, "FATFS_LFN_HEAP": false, "FATFS_LFN_NONE": true, "FATFS_LFN_STACK": false, + "FATFS_LINK_LOCK": true, "FATFS_PER_FILE_CACHE": true, "FATFS_SECTOR_4096": true, "FATFS_SECTOR_512": false, "FATFS_TIMEOUT_MS": 10000, + "FATFS_USE_DYN_BUFFERS": false, "FATFS_USE_FASTSEEK": false, + "FATFS_USE_LABEL": false, + "FATFS_USE_STRFUNC_NONE": true, + "FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV": false, + "FATFS_USE_STRFUNC_WITH_CRLF_CONV": false, + "FATFS_VFS_FSTAT_BLKSIZE": 0, "FATFS_VOLUME_COUNT": 2, "FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER": true, "FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE": false, @@ -328,72 +447,112 @@ "FREERTOS_CORETIMER_1": false, "FREERTOS_DEBUG_OCDAWARE": true, "FREERTOS_ENABLE_BACKWARD_COMPATIBILITY": false, - "FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP": false, - "FREERTOS_ENABLE_TASK_SNAPSHOT": true, "FREERTOS_FPU_IN_ISR": false, "FREERTOS_GENERATE_RUN_TIME_STATS": false, "FREERTOS_HZ": 100, "FREERTOS_IDLE_TASK_STACKSIZE": 1536, "FREERTOS_INTERRUPT_BACKTRACE": true, + "FREERTOS_IN_IRAM": false, "FREERTOS_ISR_STACKSIZE": 1536, "FREERTOS_MAX_TASK_NAME_LEN": 16, "FREERTOS_NO_AFFINITY": 2147483647, - "FREERTOS_PLACE_FUNCTIONS_INTO_FLASH": false, - "FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH": false, + "FREERTOS_NUMBER_OF_CORES": 2, + "FREERTOS_PORT": true, "FREERTOS_QUEUE_REGISTRY_SIZE": 0, "FREERTOS_SMP": false, "FREERTOS_SUPPORT_STATIC_ALLOCATION": true, "FREERTOS_SYSTICK_USES_CCOUNT": true, "FREERTOS_TASK_FUNCTION_WRAPPER": true, "FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES": 1, + "FREERTOS_TASK_PRE_DELETION_HOOK": false, "FREERTOS_THREAD_LOCAL_STORAGE_POINTERS": 1, "FREERTOS_TICK_SUPPORT_CORETIMER": true, "FREERTOS_TIMER_QUEUE_LENGTH": 10, + "FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY": 2147483647, + "FREERTOS_TIMER_SERVICE_TASK_NAME": "Tmr Svc", + "FREERTOS_TIMER_TASK_AFFINITY_CPU0": false, + "FREERTOS_TIMER_TASK_AFFINITY_CPU1": false, + "FREERTOS_TIMER_TASK_NO_AFFINITY": true, "FREERTOS_TIMER_TASK_PRIORITY": 1, "FREERTOS_TIMER_TASK_STACK_DEPTH": 2048, "FREERTOS_TLSP_DELETION_CALLBACKS": true, "FREERTOS_UNICORE": false, + "FREERTOS_USE_APPLICATION_TASK_TAG": false, "FREERTOS_USE_IDLE_HOOK": false, + "FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES": false, "FREERTOS_USE_TICK_HOOK": false, + "FREERTOS_USE_TIMERS": true, "FREERTOS_USE_TRACE_FACILITY": false, "FREERTOS_WATCHPOINT_END_OF_STACK": false, "GPIO_CTRL_FUNC_IN_IRAM": false, - "GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL": false, "GPTIMER_CTRL_FUNC_IN_IRAM": false, "GPTIMER_ENABLE_DEBUG_LOG": false, - "GPTIMER_ISR_IRAM_SAFE": false, - "GPTIMER_SUPPRESS_DEPRECATE_WARN": false, + "GPTIMER_ISR_CACHE_SAFE": false, + "GPTIMER_ISR_HANDLER_IN_IRAM": true, + "GPTIMER_OBJ_CACHE_SAFE": true, "HAL_ASSERTION_DISABLE": false, "HAL_ASSERTION_ENABLE": false, "HAL_ASSERTION_EQUALS_SYSTEM": true, "HAL_ASSERTION_SILENT": false, "HAL_DEFAULT_ASSERTION_LEVEL": 2, + "HAL_GPIO_USE_ROM_IMPL": true, "HEAP_ABORT_WHEN_ALLOCATION_FAILS": false, + "HEAP_HAS_EXEC_HEAP": true, + "HEAP_PLACE_FUNCTION_INTO_FLASH": false, "HEAP_POISONING_COMPREHENSIVE": false, "HEAP_POISONING_DISABLED": true, "HEAP_POISONING_LIGHT": false, + "HEAP_TASK_TRACKING": false, "HEAP_TRACING_OFF": true, "HEAP_TRACING_STANDALONE": false, "HEAP_TRACING_TOHOST": false, + "HEAP_USE_HOOKS": false, "HTTPD_ERR_RESP_NO_DELAY": true, "HTTPD_LOG_PURGE_DATA": false, - "HTTPD_MAX_REQ_HDR_LEN": 512, + "HTTPD_MAX_REQ_HDR_LEN": 1024, "HTTPD_MAX_URI_LEN": 512, "HTTPD_PURGE_BUF_LEN": 32, "HTTPD_QUEUE_WORK_BLOCKING": false, + "HTTPD_SERVER_EVENT_POST_TIMEOUT": 2000, "HTTPD_WS_SUPPORT": false, + "I2C_ENABLE_DEBUG_LOG": false, + "I2C_ISR_IRAM_SAFE": false, + "I2C_MASTER_ISR_HANDLER_IN_IRAM": true, + "I2C_SKIP_LEGACY_CONFLICT_CHECK": false, + "I2S_CTRL_FUNC_IN_IRAM": false, "I2S_ENABLE_DEBUG_LOG": false, "I2S_ISR_IRAM_SAFE": false, - "I2S_SUPPRESS_DEPRECATE_WARN": false, + "I3C_MASTER_ENABLE_DEBUG_LOG": false, + "I3C_MASTER_ISR_CACHE_SAFE": false, + "I3C_MASTER_ISR_HANDLER_IN_IRAM": false, "IDF_CMAKE": true, + "IDF_EXPERIMENTAL_FEATURES": false, "IDF_FIRMWARE_CHIP_ID": 0, + "IDF_INIT_VERSION": "6.0.0", "IDF_TARGET": "esp32", "IDF_TARGET_ARCH": "xtensa", "IDF_TARGET_ARCH_XTENSA": true, "IDF_TARGET_ESP32": true, + "IDF_TOOLCHAIN": "gcc", + "IDF_TOOLCHAIN_GCC": true, "LCD_ENABLE_DEBUG_LOG": false, - "LCD_PANEL_IO_FORMAT_BUF_SIZE": 32, - "LOG_COLORS": true, + "LEDC_CTRL_FUNC_IN_IRAM": false, + "LIBC_ASSERT_BUFFER_SIZE": 200, + "LIBC_LOCKS_PLACE_IN_IRAM": true, + "LIBC_MISC_IN_IRAM": true, + "LIBC_NEWLIB": true, + "LIBC_NEWLIB_NANO_FORMAT": false, + "LIBC_STDIN_LINE_ENDING_CR": true, + "LIBC_STDIN_LINE_ENDING_CRLF": false, + "LIBC_STDIN_LINE_ENDING_LF": false, + "LIBC_STDOUT_LINE_ENDING_CR": false, + "LIBC_STDOUT_LINE_ENDING_CRLF": true, + "LIBC_STDOUT_LINE_ENDING_LF": false, + "LIBC_TIME_SYSCALL_USE_HRT": false, + "LIBC_TIME_SYSCALL_USE_NONE": false, + "LIBC_TIME_SYSCALL_USE_RTC": false, + "LIBC_TIME_SYSCALL_USE_RTC_HRT": true, + "LOG_COLORS": false, "LOG_DEFAULT_LEVEL": 3, "LOG_DEFAULT_LEVEL_DEBUG": false, "LOG_DEFAULT_LEVEL_ERROR": false, @@ -401,38 +560,75 @@ "LOG_DEFAULT_LEVEL_NONE": false, "LOG_DEFAULT_LEVEL_VERBOSE": false, "LOG_DEFAULT_LEVEL_WARN": false, + "LOG_DYNAMIC_LEVEL_CONTROL": true, + "LOG_IN_IRAM": true, + "LOG_MASTER_LEVEL": false, "LOG_MAXIMUM_EQUALS_DEFAULT": true, "LOG_MAXIMUM_LEVEL": 3, "LOG_MAXIMUM_LEVEL_DEBUG": false, "LOG_MAXIMUM_LEVEL_VERBOSE": false, + "LOG_MODE_TEXT": true, + "LOG_MODE_TEXT_EN": true, + "LOG_TAG_LEVEL_CACHE_ARRAY": false, + "LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP": true, + "LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST": true, + "LOG_TAG_LEVEL_IMPL_CACHE_SIZE": 31, + "LOG_TAG_LEVEL_IMPL_LINKED_LIST": false, + "LOG_TAG_LEVEL_IMPL_NONE": false, "LOG_TIMESTAMP_SOURCE_RTOS": true, "LOG_TIMESTAMP_SOURCE_SYSTEM": false, + "LOG_VERSION": 1, + "LOG_VERSION_1": true, + "LOG_VERSION_2": false, "LWIP_AUTOIP": false, "LWIP_BRIDGEIF_MAX_PORTS": 7, "LWIP_BROADCAST_PING": false, "LWIP_CHECKSUM_CHECK_ICMP": true, "LWIP_CHECKSUM_CHECK_IP": false, "LWIP_CHECKSUM_CHECK_UDP": false, + "LWIP_CHECK_THREAD_SAFETY": false, "LWIP_DEBUG": false, "LWIP_DHCPS": true, "LWIP_DHCPS_LEASE_UNIT": 60, + "LWIP_DHCPS_MAX_HOSTNAME_LEN": 64, "LWIP_DHCPS_MAX_STATION_NUM": 8, + "LWIP_DHCPS_REPORT_CLIENT_HOSTNAME": true, + "LWIP_DHCPS_STATIC_ENTRIES": true, + "LWIP_DHCP_COARSE_TIMER_SECS": 1, "LWIP_DHCP_DISABLE_CLIENT_ID": false, "LWIP_DHCP_DISABLE_VENDOR_CLASS_ID": true, + "LWIP_DHCP_DOES_ACD_CHECK": false, "LWIP_DHCP_DOES_ARP_CHECK": true, + "LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP": false, "LWIP_DHCP_GET_NTP_SRV": false, - "LWIP_DHCP_OPTIONS_LEN": 68, + "LWIP_DHCP_OPTIONS_LEN": 69, "LWIP_DHCP_RESTORE_LAST_IP": false, + "LWIP_DNS_MAX_HOST_IP": 1, + "LWIP_DNS_MAX_SERVERS": 3, + "LWIP_DNS_SETSERVER_WITH_NETIF": false, "LWIP_DNS_SUPPORT_MDNS_QUERIES": true, + "LWIP_ENABLE": true, "LWIP_ESP_GRATUITOUS_ARP": true, "LWIP_ESP_LWIP_ASSERT": true, + "LWIP_ESP_MLDV6_REPORT": true, + "LWIP_EXTRA_IRAM_OPTIMIZATION": false, + "LWIP_FALLBACK_DNS_SERVER_SUPPORT": false, + "LWIP_FORCE_ROUTER_FORWARDING": false, "LWIP_GARP_TMR_INTERVAL": 60, + "LWIP_HOOK_DHCP_EXTRA_OPTION_CUSTOM": false, + "LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT": false, + "LWIP_HOOK_DHCP_EXTRA_OPTION_NONE": true, + "LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM": false, + "LWIP_HOOK_DNS_EXT_RESOLVE_NONE": true, "LWIP_HOOK_IP6_INPUT_CUSTOM": false, - "LWIP_HOOK_IP6_INPUT_DEFAULT": false, - "LWIP_HOOK_IP6_INPUT_NONE": true, + "LWIP_HOOK_IP6_INPUT_DEFAULT": true, + "LWIP_HOOK_IP6_INPUT_NONE": false, "LWIP_HOOK_IP6_ROUTE_CUSTOM": false, "LWIP_HOOK_IP6_ROUTE_DEFAULT": false, "LWIP_HOOK_IP6_ROUTE_NONE": true, + "LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM": false, + "LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT": false, + "LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE": true, "LWIP_HOOK_ND6_GET_GW_CUSTOM": false, "LWIP_HOOK_ND6_GET_GW_DEFAULT": false, "LWIP_HOOK_ND6_GET_GW_NONE": true, @@ -447,13 +643,21 @@ "LWIP_IP4_REASSEMBLY": false, "LWIP_IP6_FRAG": true, "LWIP_IP6_REASSEMBLY": false, + "LWIP_IPV4": true, "LWIP_IPV6": true, "LWIP_IPV6_AUTOCONFIG": false, + "LWIP_IPV6_DUP_DETECT_ATTEMPTS": 1, "LWIP_IPV6_FORWARD": false, "LWIP_IPV6_MEMP_NUM_ND6_QUEUE": 3, + "LWIP_IPV6_ND6_NUM_DESTINATIONS": 10, "LWIP_IPV6_ND6_NUM_NEIGHBORS": 5, + "LWIP_IPV6_ND6_NUM_PREFIXES": 5, + "LWIP_IPV6_ND6_NUM_ROUTERS": 3, + "LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT": false, "LWIP_IPV6_NUM_ADDRESSES": 3, + "LWIP_IP_DEFAULT_TTL": 64, "LWIP_IP_FORWARD": false, + "LWIP_IP_REASS_MAX_PBUFS": 10, "LWIP_IRAM_OPTIMIZATION": false, "LWIP_L2_TO_L3_COPY": false, "LWIP_LOCAL_HOSTNAME": "espressif", @@ -463,15 +667,19 @@ "LWIP_MAX_RAW_PCBS": 16, "LWIP_MAX_SOCKETS": 10, "LWIP_MAX_UDP_PCBS": 16, + "LWIP_MLDV6_TMR_INTERVAL": 40, "LWIP_MULTICAST_PING": false, + "LWIP_ND6": true, "LWIP_NETBUF_RECVINFO": false, - "LWIP_NETIF_API": false, + "LWIP_NETIF_LINK_CALLBACK": false, "LWIP_NETIF_LOOPBACK": true, "LWIP_NETIF_STATUS_CALLBACK": false, "LWIP_NUM_NETIF_CLIENT_DATA": 0, "LWIP_PPP_SUPPORT": false, "LWIP_SLIP_SUPPORT": false, + "LWIP_SNTP_MAXIMUM_STARTUP_DELAY": 5000, "LWIP_SNTP_MAX_SERVERS": 1, + "LWIP_SNTP_STARTUP_DELAY": true, "LWIP_SNTP_UPDATE_DELAY": 3600000, "LWIP_SO_LINGER": false, "LWIP_SO_RCVBUF": false, @@ -484,12 +692,16 @@ "LWIP_TCPIP_TASK_AFFINITY_CPU0": false, "LWIP_TCPIP_TASK_AFFINITY_CPU1": false, "LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY": true, + "LWIP_TCPIP_TASK_PRIO": 18, "LWIP_TCPIP_TASK_STACK_SIZE": 3072, + "LWIP_TCP_ACCEPTMBOX_SIZE": 6, "LWIP_TCP_FIN_WAIT_TIMEOUT": 20000, "LWIP_TCP_HIGH_SPEED_RETRANSMISSION": true, "LWIP_TCP_MAXRTX": 12, "LWIP_TCP_MSL": 60000, "LWIP_TCP_MSS": 1440, + "LWIP_TCP_OOSEQ_MAX_PBUFS": 4, + "LWIP_TCP_OOSEQ_TIMEOUT": 6, "LWIP_TCP_OVERSIZE_DISABLE": false, "LWIP_TCP_OVERSIZE_MSS": true, "LWIP_TCP_OVERSIZE_QUARTER_MSS": false, @@ -497,34 +709,61 @@ "LWIP_TCP_RECVMBOX_SIZE": 6, "LWIP_TCP_RTO_TIME": 1500, "LWIP_TCP_SACK_OUT": false, - "LWIP_TCP_SND_BUF_DEFAULT": 5744, + "LWIP_TCP_SND_BUF_DEFAULT": 5760, "LWIP_TCP_SYNMAXRTX": 12, "LWIP_TCP_TMR_INTERVAL": 250, - "LWIP_TCP_WND_DEFAULT": 5744, + "LWIP_TCP_WND_DEFAULT": 5760, "LWIP_TIMERS_ONDEMAND": true, "LWIP_UDP_RECVMBOX_SIZE": 6, + "LWIP_USE_ESP_GETADDRINFO": false, "LWIP_USE_ONLY_LWIP_SELECT": false, "MBEDTLS_AES_C": true, + "MBEDTLS_AES_FEWER_TABLES": false, + "MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH": false, + "MBEDTLS_AES_ROM_TABLES": true, + "MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION": false, + "MBEDTLS_ARIA_C": true, + "MBEDTLS_ASN1_PARSE_C": true, + "MBEDTLS_ASN1_WRITE_C": true, "MBEDTLS_ASYMMETRIC_CONTENT_LEN": true, "MBEDTLS_ATCA_HW_ECDSA_SIGN": false, "MBEDTLS_ATCA_HW_ECDSA_VERIFY": false, + "MBEDTLS_BASE64_C": true, + "MBEDTLS_BIGNUM_C": true, "MBEDTLS_BLOWFISH_C": false, "MBEDTLS_CAMELLIA_C": false, "MBEDTLS_CCM_C": true, "MBEDTLS_CERTIFICATE_BUNDLE": true, + "MBEDTLS_CERTIFICATE_BUNDLE_CROSS_SIGNED_VERIFY": false, "MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN": false, "MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL": true, "MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE": false, + "MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST": false, "MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS": 200, "MBEDTLS_CHACHA20_C": false, + "MBEDTLS_CIPHER_C": true, + "MBEDTLS_CIPHER_MODE_CBC": true, + "MBEDTLS_CIPHER_MODE_CFB": true, + "MBEDTLS_CIPHER_MODE_CTR": true, + "MBEDTLS_CIPHER_MODE_OFB": true, + "MBEDTLS_CIPHER_MODE_XTS": true, + "MBEDTLS_CIPHER_PADDING": true, + "MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS": true, + "MBEDTLS_CIPHER_PADDING_PKCS7": true, + "MBEDTLS_CIPHER_PADDING_ZEROS": true, + "MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN": true, "MBEDTLS_CLIENT_SSL_SESSION_TICKETS": true, - "MBEDTLS_CMAC_C": false, + "MBEDTLS_CMAC_C": true, + "MBEDTLS_COMPILER_OPTIMIZATION_NONE": true, + "MBEDTLS_COMPILER_OPTIMIZATION_PERF": false, + "MBEDTLS_COMPILER_OPTIMIZATION_SIZE": false, + "MBEDTLS_CTR_DRBG_C": true, "MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE": false, "MBEDTLS_CUSTOM_MEM_ALLOC": false, "MBEDTLS_DEBUG": false, "MBEDTLS_DEFAULT_MEM_ALLOC": false, "MBEDTLS_DES_C": false, - "MBEDTLS_DHM_C": false, + "MBEDTLS_DHM_C": true, "MBEDTLS_DYNAMIC_BUFFER": false, "MBEDTLS_ECDH_C": true, "MBEDTLS_ECDSA_C": true, @@ -543,16 +782,25 @@ "MBEDTLS_ECP_DP_SECP256R1_ENABLED": true, "MBEDTLS_ECP_DP_SECP384R1_ENABLED": true, "MBEDTLS_ECP_DP_SECP521R1_ENABLED": true, + "MBEDTLS_ECP_FIXED_POINT_OPTIM": false, "MBEDTLS_ECP_NIST_OPTIM": true, "MBEDTLS_ECP_RESTARTABLE": false, + "MBEDTLS_ENTROPY_C": true, + "MBEDTLS_ENTROPY_FORCE_SHA256": false, + "MBEDTLS_ERROR_STRINGS": true, + "MBEDTLS_FS_IO": true, "MBEDTLS_GCM_C": true, + "MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER": true, + "MBEDTLS_GENPRIME": true, "MBEDTLS_HARDWARE_AES": true, "MBEDTLS_HARDWARE_MPI": true, "MBEDTLS_HARDWARE_SHA": true, "MBEDTLS_HAVE_TIME": true, "MBEDTLS_HAVE_TIME_DATE": false, "MBEDTLS_HKDF_C": false, + "MBEDTLS_HMAC_DRBG_C": true, "MBEDTLS_INTERNAL_MEM_ALLOC": true, + "MBEDTLS_KEY_EXCHANGE_DHE_RSA": true, "MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA": true, "MBEDTLS_KEY_EXCHANGE_ECDHE_RSA": true, "MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA": true, @@ -560,27 +808,52 @@ "MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE": true, "MBEDTLS_KEY_EXCHANGE_RSA": true, "MBEDTLS_LARGE_KEY_SOFTWARE_MPI": false, + "MBEDTLS_MD5_C": true, + "MBEDTLS_MD_C": true, "MBEDTLS_NIST_KW_C": false, + "MBEDTLS_OID_C": true, "MBEDTLS_PEM_PARSE_C": true, "MBEDTLS_PEM_WRITE_C": true, + "MBEDTLS_PKCS12_C": true, + "MBEDTLS_PKCS1_V15": true, + "MBEDTLS_PKCS1_V21": true, + "MBEDTLS_PKCS5_C": true, + "MBEDTLS_PKCS7_C": true, + "MBEDTLS_PK_C": true, + "MBEDTLS_PK_PARSE_C": true, + "MBEDTLS_PK_PARSE_EC_COMPRESSED": true, + "MBEDTLS_PK_PARSE_EC_EXTENDED": true, + "MBEDTLS_PK_RSA_ALT_SUPPORT": true, + "MBEDTLS_PK_WRITE_C": true, "MBEDTLS_PLATFORM_TIME_ALT": false, "MBEDTLS_POLY1305_C": false, "MBEDTLS_PSK_MODES": false, "MBEDTLS_RIPEMD160_C": false, "MBEDTLS_ROM_MD5": true, - "MBEDTLS_SECURITY_RISKS": false, + "MBEDTLS_RSA_C": true, + "MBEDTLS_SELF_TEST": true, "MBEDTLS_SERVER_SSL_SESSION_TICKETS": true, + "MBEDTLS_SHA1_C": true, + "MBEDTLS_SHA224_C": false, + "MBEDTLS_SHA256_C": true, + "MBEDTLS_SHA384_C": true, + "MBEDTLS_SHA3_C": true, "MBEDTLS_SHA512_C": true, + "MBEDTLS_SSL_ALL_ALERT_MESSAGES": true, "MBEDTLS_SSL_ALPN": true, + "MBEDTLS_SSL_CACHE_C": true, "MBEDTLS_SSL_CONTEXT_SERIALIZATION": false, "MBEDTLS_SSL_IN_CONTENT_LEN": 16384, - "MBEDTLS_SSL_KEEP_PEER_CERTIFICATE": true, + "MBEDTLS_SSL_KEEP_PEER_CERTIFICATE": false, + "MBEDTLS_SSL_KEYING_MATERIAL_EXPORT": false, + "MBEDTLS_SSL_MAX_FRAGMENT_LENGTH": true, "MBEDTLS_SSL_OUT_CONTENT_LEN": 4096, "MBEDTLS_SSL_PROTO_DTLS": false, "MBEDTLS_SSL_PROTO_GMTSSL1_1": false, "MBEDTLS_SSL_PROTO_TLS1_2": true, "MBEDTLS_SSL_PROTO_TLS1_3": false, "MBEDTLS_SSL_RENEGOTIATION": true, + "MBEDTLS_SSL_SERVER_NAME_INDICATION": true, "MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH": false, "MBEDTLS_THREADING_C": false, "MBEDTLS_TLS_CLIENT": true, @@ -590,14 +863,22 @@ "MBEDTLS_TLS_SERVER": true, "MBEDTLS_TLS_SERVER_AND_CLIENT": true, "MBEDTLS_TLS_SERVER_ONLY": false, + "MBEDTLS_VERSION_C": true, + "MBEDTLS_VERSION_FEATURES": false, + "MBEDTLS_X509_CREATE_C": false, "MBEDTLS_X509_CRL_PARSE_C": true, + "MBEDTLS_X509_CRT_PARSE_C": true, "MBEDTLS_X509_CSR_PARSE_C": true, + "MBEDTLS_X509_REMOVE_INFO": false, + "MBEDTLS_X509_RSASSA_PSS_SUPPORT": true, "MBEDTLS_X509_TRUSTED_CERT_CALLBACK": false, + "MBEDTLS_X509_USE_C": true, "MBEDTLS_XTEA_C": false, "MCPWM_CTRL_FUNC_IN_IRAM": false, "MCPWM_ENABLE_DEBUG_LOG": false, - "MCPWM_ISR_IRAM_SAFE": false, - "MCPWM_SUPPRESS_DEPRECATE_WARN": false, + "MCPWM_ISR_CACHE_SAFE": false, + "MCPWM_ISR_HANDLER_IN_IRAM": true, + "MCPWM_OBJ_CACHE_SAFE": true, "MMU_PAGE_MODE": "64KB", "MMU_PAGE_SIZE": 65536, "MMU_PAGE_SIZE_64KB": true, @@ -612,19 +893,13 @@ "MQTT_TRANSPORT_WEBSOCKET": true, "MQTT_TRANSPORT_WEBSOCKET_SECURE": true, "MQTT_USE_CUSTOM_CONFIG": false, - "NEWLIB_NANO_FORMAT": false, - "NEWLIB_STDIN_LINE_ENDING_CR": true, - "NEWLIB_STDIN_LINE_ENDING_CRLF": false, - "NEWLIB_STDIN_LINE_ENDING_LF": false, - "NEWLIB_STDOUT_LINE_ENDING_CR": false, - "NEWLIB_STDOUT_LINE_ENDING_CRLF": true, - "NEWLIB_STDOUT_LINE_ENDING_LF": false, - "NEWLIB_TIME_SYSCALL_USE_HRT": false, - "NEWLIB_TIME_SYSCALL_USE_NONE": false, - "NEWLIB_TIME_SYSCALL_USE_RTC": false, - "NEWLIB_TIME_SYSCALL_USE_RTC_HRT": true, "NVS_ASSERT_ERROR_CHECK": false, + "NVS_LEGACY_DUP_KEYS_COMPATIBILITY": false, + "OPENTHREAD_CLI": true, + "OPENTHREAD_CONSOLE_COMMAND_PREFIX": "ot", + "OPENTHREAD_DEBUG": false, "OPENTHREAD_ENABLED": false, + "OPENTHREAD_SPINEL_ONLY": false, "PARTITION_TABLE_CUSTOM": false, "PARTITION_TABLE_CUSTOM_FILENAME": "partitions.csv", "PARTITION_TABLE_FILENAME": "partitions_singleapp.csv", @@ -633,12 +908,13 @@ "PARTITION_TABLE_SINGLE_APP": true, "PARTITION_TABLE_SINGLE_APP_LARGE": false, "PARTITION_TABLE_TWO_OTA": false, + "PARTITION_TABLE_TWO_OTA_LARGE": false, "PCNT_CTRL_FUNC_IN_IRAM": false, "PCNT_ENABLE_DEBUG_LOG": false, "PCNT_ISR_IRAM_SAFE": false, - "PCNT_SUPPRESS_DEPRECATE_WARN": false, - "PERIPH_CTRL_FUNC_IN_IRAM": false, "PM_ENABLE": false, + "PM_SLEEP_FUNC_IN_IRAM": true, + "PM_SLP_IRAM_OPT": true, "PTHREAD_DEFAULT_CORE_0": false, "PTHREAD_DEFAULT_CORE_1": false, "PTHREAD_DEFAULT_CORE_NO_AFFINITY": true, @@ -647,11 +923,17 @@ "PTHREAD_TASK_NAME_DEFAULT": "pthread", "PTHREAD_TASK_PRIO_DEFAULT": 5, "PTHREAD_TASK_STACK_SIZE_DEFAULT": 3072, - "RINGBUF_PLACE_FUNCTIONS_INTO_FLASH": false, + "RINGBUF_IN_IRAM": false, "RINGBUF_PLACE_ISR_FUNCTIONS_INTO_FLASH": false, "RMT_ENABLE_DEBUG_LOG": false, + "RMT_ENCODER_FUNC_IN_IRAM": true, "RMT_ISR_IRAM_SAFE": false, - "RMT_SUPPRESS_DEPRECATE_WARN": false, + "RMT_OBJ_CACHE_SAFE": true, + "RMT_RECV_FUNC_IN_IRAM": false, + "RMT_RX_ISR_CACHE_SAFE": false, + "RMT_RX_ISR_HANDLER_IN_IRAM": true, + "RMT_TX_ISR_CACHE_SAFE": false, + "RMT_TX_ISR_HANDLER_IN_IRAM": true, "RTC_CLK_CAL_CYCLES": 1024, "RTC_CLK_SRC_EXT_CRYS": false, "RTC_CLK_SRC_EXT_OSC": false, @@ -659,7 +941,8 @@ "RTC_CLK_SRC_INT_RC": true, "SDM_CTRL_FUNC_IN_IRAM": false, "SDM_ENABLE_DEBUG_LOG": false, - "SDM_SUPPRESS_DEPRECATE_WARN": false, + "SD_ENABLE_SDIO_SUPPORT": true, + "SD_HOST_SDMMC_ISR_CACHE_SAFE": false, "SECURE_BOOT": false, "SECURE_BOOT_V1_SUPPORTED": true, "SECURE_FLASH_ENC_ENABLED": false, @@ -669,6 +952,7 @@ "SOC_ADC_DIGI_DATA_BYTES_PER_CONV": 4, "SOC_ADC_DIGI_MAX_BITWIDTH": 12, "SOC_ADC_DIGI_MIN_BITWIDTH": 9, + "SOC_ADC_DIGI_MONITOR_NUM": 0, "SOC_ADC_DIGI_RESULT_BYTES": 2, "SOC_ADC_DIG_CTRL_SUPPORTED": true, "SOC_ADC_DMA_SUPPORTED": true, @@ -678,67 +962,83 @@ "SOC_ADC_RTC_CTRL_SUPPORTED": true, "SOC_ADC_RTC_MAX_BITWIDTH": 12, "SOC_ADC_RTC_MIN_BITWIDTH": 9, - "SOC_ADC_SAMPLE_FREQ_THRES_HIGH": 2, - "SOC_ADC_SAMPLE_FREQ_THRES_LOW": 20, + "SOC_ADC_SAMPLE_FREQ_THRES_HIGH": 2000000, + "SOC_ADC_SAMPLE_FREQ_THRES_LOW": 20000, + "SOC_ADC_SHARED_POWER": true, "SOC_ADC_SUPPORTED": true, "SOC_AES_SUPPORTED": true, "SOC_AES_SUPPORT_AES_128": true, "SOC_AES_SUPPORT_AES_192": true, "SOC_AES_SUPPORT_AES_256": true, - "SOC_APLL_MAX_HZ": 125000000, - "SOC_APLL_MIN_HZ": 5303031, - "SOC_APLL_MULTIPLIER_OUT_MAX_HZ": 500000000, - "SOC_APLL_MULTIPLIER_OUT_MIN_HZ": 350000000, "SOC_BLE_MESH_SUPPORTED": true, + "SOC_BLE_MULTI_CONN_OPTIMIZATION": true, "SOC_BLE_SUPPORTED": true, - "SOC_BROWNOUT_RESET_SUPPORTED": "Not determined", + "SOC_BLUFI_SUPPORTED": true, + "SOC_BOD_SUPPORTED": true, + "SOC_BROWNOUT_RESET_SUPPORTED": true, "SOC_BT_CLASSIC_SUPPORTED": true, + "SOC_BT_H2C_ENC_KEY_CTRL_ENH_VSC_SUPPORTED": true, "SOC_BT_SUPPORTED": true, "SOC_CAPS_ECO_VER_MAX": 301, "SOC_CCOMP_TIMER_SUPPORTED": true, "SOC_CLK_APLL_SUPPORTED": true, + "SOC_CLK_LP_FAST_SUPPORT_XTAL_D4": true, "SOC_CLK_RC_FAST_D256_SUPPORTED": true, + "SOC_CLK_RC_FAST_SUPPORT_CALIBRATION": true, + "SOC_CLK_TREE_SUPPORTED": true, + "SOC_CLK_XTAL32K_SUPPORTED": true, + "SOC_CONFIGURABLE_VDDSDIO_SUPPORTED": true, "SOC_CPU_BREAKPOINTS_NUM": 2, "SOC_CPU_CORES_NUM": 2, "SOC_CPU_HAS_FPU": true, "SOC_CPU_INTR_NUM": 32, "SOC_CPU_WATCHPOINTS_NUM": 2, - "SOC_CPU_WATCHPOINT_SIZE": 64, + "SOC_CPU_WATCHPOINT_MAX_REGION_SIZE": 64, "SOC_DAC_CHAN_NUM": 2, "SOC_DAC_DMA_16BIT_ALIGN": true, "SOC_DAC_RESOLUTION": 8, "SOC_DAC_SUPPORTED": true, - "SOC_DPORT_WORKAROUND": "Not determined", + "SOC_DEEP_SLEEP_SUPPORTED": true, "SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL": 5, - "SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS": true, + "SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS": 1, + "SOC_EFUSE_SUPPORTED": true, + "SOC_EMAC_RMII_CLK_OUT_INTERNAL_LOOPBACK": true, "SOC_EMAC_SUPPORTED": true, "SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX": 32, "SOC_FLASH_ENC_SUPPORTED": true, + "SOC_GPIO_CLOCKOUT_BY_IO_MUX": true, + "SOC_GPIO_CLOCKOUT_CHANNEL_NUM": 3, + "SOC_GPIO_IN_RANGE_MAX": 39, + "SOC_GPIO_OUT_RANGE_MAX": 33, "SOC_GPIO_PIN_COUNT": 40, "SOC_GPIO_PORT": 1, - "SOC_GPIO_SUPPORT_SLP_SWITCH": true, + "SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP": true, "SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK": 15667178, "SOC_GPIO_VALID_GPIO_MASK": 1099511627775, + "SOC_GPSPI_SUPPORTED": true, + "SOC_GPTIMER_SUPPORTED": true, + "SOC_HP_CPU_HAS_MULTIPLE_CORES": true, + "SOC_HP_I2C_NUM": 2, + "SOC_I2C_CMD_REG_NUM": 16, "SOC_I2C_FIFO_LEN": 32, "SOC_I2C_NUM": 2, + "SOC_I2C_STOP_INDEPENDENT": true, "SOC_I2C_SUPPORTED": true, + "SOC_I2C_SUPPORT_10BIT_ADDR": true, "SOC_I2C_SUPPORT_APB": true, "SOC_I2C_SUPPORT_SLAVE": true, "SOC_I2S_HW_VERSION_1": true, - "SOC_I2S_LCD_I80_VARIANT": true, - "SOC_I2S_NUM": 2, "SOC_I2S_PDM_MAX_RX_LINES": 1, "SOC_I2S_PDM_MAX_TX_LINES": 1, "SOC_I2S_SUPPORTED": true, - "SOC_I2S_SUPPORTS_ADC": true, - "SOC_I2S_SUPPORTS_ADC_DAC": true, "SOC_I2S_SUPPORTS_APLL": true, - "SOC_I2S_SUPPORTS_DAC": true, "SOC_I2S_SUPPORTS_LCD_CAMERA": true, + "SOC_I2S_SUPPORTS_PCM2PDM": true, "SOC_I2S_SUPPORTS_PDM": true, + "SOC_I2S_SUPPORTS_PDM2PCM": true, "SOC_I2S_SUPPORTS_PDM_RX": true, "SOC_I2S_SUPPORTS_PDM_TX": true, - "SOC_I2S_TRANS_SIZE_ALIGN_WORD": true, + "SOC_IDCACHE_PER_CORE": true, "SOC_LCD_I80_BUSES": 2, "SOC_LCD_I80_BUS_WIDTH": 24, "SOC_LCD_I80_SUPPORTED": true, @@ -748,10 +1048,14 @@ "SOC_LEDC_SUPPORT_APB_CLOCK": true, "SOC_LEDC_SUPPORT_HS_MODE": true, "SOC_LEDC_SUPPORT_REF_TICK": true, - "SOC_LEDC_TIMER_BIT_WIDE_NUM": 20, + "SOC_LEDC_TIMER_BIT_WIDTH": 20, + "SOC_LEDC_TIMER_NUM": 4, + "SOC_LIGHT_SLEEP_SUPPORTED": true, + "SOC_LP_PERIPH_SHARE_INTERRUPT": true, + "SOC_LP_TIMER_BIT_WIDTH_HI": 16, + "SOC_LP_TIMER_BIT_WIDTH_LO": 32, "SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER": 3, "SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP": true, - "SOC_MCPWM_CLK_SUPPORT_PLL160M": true, "SOC_MCPWM_COMPARATORS_PER_OPERATOR": 2, "SOC_MCPWM_GENERATORS_PER_OPERATOR": 2, "SOC_MCPWM_GPIO_FAULTS_PER_GROUP": 3, @@ -765,21 +1069,30 @@ "SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED": true, "SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED": true, "SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED": true, - "SOC_MMU_LINEAR_ADDRESS_REGION_NUM": 5, + "SOC_MMU_LINEAR_ADDRESS_REGION_NUM": 3, + "SOC_MMU_PERIPH_NUM": 2, + "SOC_MPI_MEM_BLOCKS_NUM": 4, + "SOC_MPI_OPERATIONS_NUM": 1, "SOC_MPI_SUPPORTED": true, "SOC_MPU_MIN_REGION_SIZE": 536870912, "SOC_MPU_REGIONS_MAX_NUM": 8, - "SOC_PCNT_CHANNELS_PER_UNIT": 2, - "SOC_PCNT_GROUPS": 1, + "SOC_MPU_SUPPORTED": true, "SOC_PCNT_SUPPORTED": true, - "SOC_PCNT_THRES_POINT_PER_UNIT": 2, - "SOC_PCNT_UNITS_PER_GROUP": 8, + "SOC_PHY_COMBO_MODULE": true, "SOC_PHY_DIG_REGS_MEM_SIZE": 21, + "SOC_PHY_SUPPORTED": true, + "SOC_PM_MODEM_PD_BY_SW": true, + "SOC_PM_SUPPORTED": true, + "SOC_PM_SUPPORT_EXT0_WAKEUP": true, + "SOC_PM_SUPPORT_EXT1_WAKEUP": true, "SOC_PM_SUPPORT_EXT_WAKEUP": true, + "SOC_PM_SUPPORT_MODEM_PD": true, + "SOC_PM_SUPPORT_RC_FAST_PD": true, "SOC_PM_SUPPORT_RTC_FAST_MEM_PD": true, "SOC_PM_SUPPORT_RTC_PERIPH_PD": true, "SOC_PM_SUPPORT_RTC_SLOW_MEM_PD": true, "SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP": true, + "SOC_PM_SUPPORT_VDDSDIO_PD": true, "SOC_RMT_CHANNELS_PER_GROUP": 8, "SOC_RMT_CHANNEL_CLK_INDEPENDENT": true, "SOC_RMT_GROUPS": 1, @@ -789,6 +1102,7 @@ "SOC_RMT_SUPPORT_APB": true, "SOC_RMT_SUPPORT_REF_TICK": true, "SOC_RMT_TX_CANDIDATES_PER_GROUP": 8, + "SOC_RNG_SUPPORTED": true, "SOC_RSA_MAX_BIT_LEN": 4096, "SOC_RTCIO_HOLD_SUPPORTED": true, "SOC_RTCIO_INPUT_OUTPUT_SUPPORTED": true, @@ -799,15 +1113,15 @@ "SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256": true, "SOC_RTC_SLOW_MEM_SUPPORTED": true, "SOC_SDIO_SLAVE_SUPPORTED": true, + "SOC_SDMMC_DATA_WIDTH_MAX": 8, "SOC_SDMMC_HOST_SUPPORTED": true, "SOC_SDMMC_NUM_SLOTS": 2, "SOC_SDMMC_USE_IOMUX": true, - "SOC_SDM_CHANNELS_PER_GROUP": 8, - "SOC_SDM_GROUPS": 1, "SOC_SDM_SUPPORTED": true, "SOC_SECURE_BOOT_SUPPORTED": true, "SOC_SECURE_BOOT_V1": true, "SOC_SHARED_IDCACHE_SUPPORTED": true, + "SOC_SHA_ENDIANNESS_BE": true, "SOC_SHA_SUPPORTED": true, "SOC_SHA_SUPPORT_PARALLEL_ENG": true, "SOC_SHA_SUPPORT_SHA1": true, @@ -817,41 +1131,47 @@ "SOC_SPIRAM_SUPPORTED": true, "SOC_SPI_AS_CS_SUPPORTED": true, "SOC_SPI_DMA_CHAN_NUM": 2, + "SOC_SPI_FLASH_SUPPORTED": true, "SOC_SPI_HD_BOTH_INOUT_SUPPORTED": true, "SOC_SPI_MAXIMUM_BUFFER_SIZE": 64, "SOC_SPI_MAX_CS_NUM": 3, "SOC_SPI_MAX_PRE_DIVIDER": 8192, "SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE": true, "SOC_SPI_PERIPH_NUM": 3, + "SOC_SPI_SUPPORT_CLK_APB": true, "SOC_SUPPORT_COEXISTENCE": true, - "SOC_TIMER_GROUPS": 2, - "SOC_TIMER_GROUP_COUNTER_BIT_WIDTH": 64, - "SOC_TIMER_GROUP_SUPPORT_APB": true, - "SOC_TIMER_GROUP_TIMERS_PER_GROUP": 2, - "SOC_TIMER_GROUP_TOTAL_TIMERS": 4, - "SOC_TOUCH_PAD_MEASURE_WAIT_MAX": 255, - "SOC_TOUCH_SENSOR_NUM": 10, + "SOC_TOUCH_MAX_CHAN_ID": 9, + "SOC_TOUCH_MIN_CHAN_ID": 0, + "SOC_TOUCH_SAMPLE_CFG_NUM": 1, "SOC_TOUCH_SENSOR_SUPPORTED": true, - "SOC_TOUCH_VERSION_1": true, - "SOC_TWAI_BRP_DIV_SUPPORTED": "Not determined", + "SOC_TOUCH_SENSOR_VERSION": 1, + "SOC_TOUCH_SUPPORT_SLEEP_WAKEUP": true, "SOC_TWAI_BRP_MIN": 2, "SOC_TWAI_CLK_SUPPORT_APB": true, "SOC_TWAI_CONTROLLER_NUM": 1, + "SOC_TWAI_MASK_FILTER_NUM": 1, "SOC_TWAI_SUPPORTED": true, "SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT": true, "SOC_UART_BITRATE_MAX": 5000000, "SOC_UART_FIFO_LEN": 128, + "SOC_UART_HP_NUM": 3, "SOC_UART_NUM": 3, + "SOC_UART_SUPPORTED": true, "SOC_UART_SUPPORT_APB_CLK": true, "SOC_UART_SUPPORT_REF_TICK": true, + "SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE": true, + "SOC_ULP_FSM_SUPPORTED": true, + "SOC_ULP_HAS_ADC": true, "SOC_ULP_SUPPORTED": true, + "SOC_WDT_SUPPORTED": true, "SOC_WIFI_CSI_SUPPORT": true, "SOC_WIFI_MESH_SUPPORT": true, + "SOC_WIFI_NAN_SUPPORT": true, "SOC_WIFI_SUPPORTED": true, + "SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW": true, "SOC_WIFI_WAPI_SUPPORT": true, "SOC_XTAL_SUPPORT_26M": true, "SOC_XTAL_SUPPORT_40M": true, - "SOC_XTAL_SUPPORT_AUTO_DETECT": true, "SPIFFS_API_DBG": false, "SPIFFS_CACHE": true, "SPIFFS_CACHE_DBG": false, @@ -884,7 +1204,10 @@ "SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE": true, "SPI_FLASH_ERASE_YIELD_DURATION_MS": 20, "SPI_FLASH_ERASE_YIELD_TICKS": 1, + "SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND": false, + "SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND": false, "SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST": false, + "SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM": true, "SPI_FLASH_ROM_DRIVER_PATCH": true, "SPI_FLASH_SHARE_SPI1_BUS": false, "SPI_FLASH_SIZE_OVERRIDE": false, @@ -894,21 +1217,41 @@ "SPI_FLASH_SUPPORT_MXIC_CHIP": true, "SPI_FLASH_SUPPORT_TH_CHIP": false, "SPI_FLASH_SUPPORT_WINBOND_CHIP": true, + "SPI_FLASH_SUSPEND_TSUS_VAL_US": 50, + "SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED": true, + "SPI_FLASH_VENDOR_ISSI_SUPPORT_ENABLED": true, + "SPI_FLASH_VENDOR_MXIC_SUPPORT_ENABLED": true, + "SPI_FLASH_VENDOR_WINBOND_SUPPORT_ENABLED": true, + "SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED": true, "SPI_FLASH_VERIFY_WRITE": false, "SPI_FLASH_WRITE_CHUNK_SIZE": 8192, "SPI_FLASH_YIELD_DURING_ERASE": true, - "SPI_MASTER_IN_IRAM": false, "SPI_MASTER_ISR_IN_IRAM": true, "SPI_SLAVE_IN_IRAM": false, "SPI_SLAVE_ISR_IN_IRAM": true, + "TOUCH_CTRL_FUNC_IN_IRAM": false, + "TOUCH_ENABLE_DEBUG_LOG": false, + "TOUCH_ISR_IRAM_SAFE": false, + "TOUCH_SKIP_FSM_CHECK": false, + "TOUCH_SKIP_LEGACY_CONFLICT_CHECK": false, + "TOUCH_SUPPRESS_DEPRECATE_WARN": false, + "TWAI_ENABLE_DEBUG_LOG": false, "TWAI_ERRATA_FIX_BUS_OFF_REC": true, + "TWAI_ERRATA_FIX_LISTEN_ONLY_DOM": true, "TWAI_ERRATA_FIX_RX_FIFO_CORRUPT": true, "TWAI_ERRATA_FIX_RX_FRAME_INVALID": true, "TWAI_ERRATA_FIX_TX_INTR_LOST": true, + "TWAI_IO_FUNC_IN_IRAM": false, + "TWAI_ISR_CACHE_SAFE": false, "TWAI_ISR_IN_IRAM": false, + "TWAI_ISR_IN_IRAM_LEGACY": false, + "TWAI_SKIP_LEGACY_CONFLICT_CHECK": false, "UART_ISR_IN_IRAM": false, + "UHCI_ENABLE_DEBUG_LOG": false, + "UHCI_ISR_CACHE_SAFE": false, + "UHCI_ISR_HANDLER_IN_IRAM": false, "ULP_COPROC_ENABLED": false, - "UNITY_CRITICAL_LEAK_LEVEL_GENERAL": 1024, + "UNITY_CRITICAL_LEAK_LEVEL_GENERAL": 1200, "UNITY_CRITICAL_LEAK_LEVEL_LWIP": 4095, "UNITY_ENABLE_64BIT": false, "UNITY_ENABLE_BACKTRACE_ON_FAIL": false, @@ -922,35 +1265,24 @@ "UNITY_FREERTOS_STACK_SIZE": 8192, "UNITY_IGNORE_PERFORMANCE_TESTS": false, "UNITY_WARN_LEAK_LEVEL_GENERAL": 255, + "VFS_INITIALIZE_DEV_NULL": true, + "VFS_MAX_COUNT": 8, + "VFS_SELECT_IN_RAM": false, "VFS_SEMIHOSTFS_MAX_MOUNT_POINTS": 1, "VFS_SUPPORT_DIR": true, "VFS_SUPPORT_IO": true, "VFS_SUPPORT_SELECT": true, "VFS_SUPPORT_TERMIOS": true, "VFS_SUPPRESS_SELECT_DEBUG_OUTPUT": true, - "WIFI_PROV_AUTOSTOP_TIMEOUT": 30, - "WIFI_PROV_BLE_FORCE_ENCRYPTION": true, - "WIFI_PROV_SCAN_MAX_ENTRIES": 16, "WL_SECTOR_SIZE": 4096, "WL_SECTOR_SIZE_4096": true, "WL_SECTOR_SIZE_512": false, - "WPA_11KV_SUPPORT": false, - "WPA_11R_SUPPORT": false, - "WPA_DEBUG_PRINT": false, - "WPA_DPP_SUPPORT": false, - "WPA_MBEDTLS_CRYPTO": true, - "WPA_MBEDTLS_TLS_CLIENT": true, - "WPA_MBO_SUPPORT": false, - "WPA_SUITE_B_192": false, - "WPA_TESTING_OPTIONS": false, - "WPA_WAPI_PSK": false, - "WPA_WPS_SOFTAP_REGISTRAR": false, - "WPA_WPS_STRICT": false, "WS_BUFFER_SIZE": 1024, "WS_DYNAMIC_BUFFER": false, "WS_TRANSPORT": true, "XTAL_FREQ": 40, "XTAL_FREQ_26": false, + "XTAL_FREQ_32": false, "XTAL_FREQ_40": true, "XTAL_FREQ_AUTO": false } \ No newline at end of file diff --git a/tests/fixtures/unit_test_app_esp32/build/flasher_args.json b/tests/fixtures/unit_test_app_esp32/build/flasher_args.json index d7f3deb4..dfcc209f 100644 --- a/tests/fixtures/unit_test_app_esp32/build/flasher_args.json +++ b/tests/fixtures/unit_test_app_esp32/build/flasher_args.json @@ -9,12 +9,12 @@ }, "flash_files" : { "0x1000" : "bootloader/bootloader.bin", - "0x10000" : "case_tester_example.bin", - "0x8000" : "partition_table/partition-table.bin" + "0x8000" : "partition_table/partition-table.bin", + "0x10000" : "case_tester_example.bin" }, "bootloader" : { "offset" : "0x1000", "file" : "bootloader/bootloader.bin", "encrypted" : "false" }, - "app" : { "offset" : "0x10000", "file" : "case_tester_example.bin", "encrypted" : "false" }, "partition-table" : { "offset" : "0x8000", "file" : "partition_table/partition-table.bin", "encrypted" : "false" }, + "app" : { "offset" : "0x10000", "file" : "case_tester_example.bin", "encrypted" : "false" }, "extra_esptool_args" : { "after" : "hard_reset", "before" : "default_reset", diff --git a/tests/fixtures/unit_test_app_esp32/main/case_tester_example.c b/tests/fixtures/unit_test_app_esp32/main/case_tester_example.c index d8a5be02..c2d64509 100644 --- a/tests/fixtures/unit_test_app_esp32/main/case_tester_example.c +++ b/tests/fixtures/unit_test_app_esp32/main/case_tester_example.c @@ -8,21 +8,41 @@ #include "esp_log.h" -TEST_CASE("normal_case1", "[normal_case]") +/* +The ideal test result of `run_all_single_board_cases(reset=False)` should be: + normal_case_pass: pass + normal_case_crash: fail (crash) + normal_case_stuck: fail (infinite loop) + normal_case_skip_when_not_reset: skip (since the previous case will hang forever) + multiple_stages_test: skip (since the previous case will hang forever) + +The ideal test result of `run_all_single_board_cases(reset=True)` should be: + normal_case_pass: pass + normal_case_crash: fail (crash) + normal_case_stuck: fail (infinite loop) + normal_case_skip_when_not_reset: pass + multiple_stages_test: pass + +multiple_devices_test: skip (when reset=False, since the previous case will hang forever) +multiple_devices_test: pass (when reset=True) +*/ + +TEST_CASE("normal_case_pass", "[normal_case]") { esp_chip_info_t chip_info; esp_chip_info(&chip_info); - ESP_LOGI("normal case1", "This is %s chip with %d CPU core(s), WiFi%s%s, ", + ESP_LOGI("normal case pass", "This is %s chip with %d CPU core(s), WiFi%s%s, ", CONFIG_IDF_TARGET, chip_info.cores, (chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "", (chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : ""); + TEST_ASSERT(true); } -TEST_CASE("normal_case2", "[normal_case][timeout=10]") +TEST_CASE("normal_case_crash", "[normal_case][timeout=10]") { - ESP_LOGI("normal case2", "delay 3s"); + ESP_LOGI("normal case crash later", "delay 3s"); vTaskDelay(pdMS_TO_TICKS(3000)); // cause a crash @@ -32,6 +52,22 @@ TEST_CASE("normal_case2", "[normal_case][timeout=10]") TEST_ASSERT(true); } +TEST_CASE("normal_case_stuck", "[normal_case][timeout=10]") +{ + ESP_LOGI("normal case stuck", "infinite loop"); + while (1) { + vTaskDelay(pdMS_TO_TICKS(1000)); + } + + TEST_ASSERT(true); +} + +TEST_CASE("normal_case_skip_when_not_reset", "[normal_case][timeout=10]") +{ + ESP_LOGI("normal case skip when not reset", "skip this case if not reset, since the previous case will hang forever"); + TEST_ASSERT(true); +} + void test_stage1(void) { ESP_LOGI("multi_stage", "stage1: software restart"); @@ -44,7 +80,7 @@ void test_stage2(void) { ESP_LOGI("multi_stage", "stage2: assert fail"); vTaskDelay(pdMS_TO_TICKS(100)); - assert(false); // this one will cause a panic, the test won't fail + assert(false); // this one will cause a panic } void test_stage3(void) diff --git a/tests/fixtures/unit_test_app_esp32c3/CMakeLists.txt b/tests/fixtures/unit_test_app_esp32c3/CMakeLists.txt index ed66ba15..383d5157 100644 --- a/tests/fixtures/unit_test_app_esp32c3/CMakeLists.txt +++ b/tests/fixtures/unit_test_app_esp32c3/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.16) set(EXTRA_COMPONENT_DIRS - "$ENV{IDF_PATH}/tools/unit-test-app/components") + "$ENV{IDF_PATH}/tools/test_apps/components") include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(case_tester_example) diff --git a/tests/fixtures/unit_test_app_esp32c3/build/bootloader/bootloader.bin b/tests/fixtures/unit_test_app_esp32c3/build/bootloader/bootloader.bin index 5357df08..d4e6dba4 100644 Binary files a/tests/fixtures/unit_test_app_esp32c3/build/bootloader/bootloader.bin and b/tests/fixtures/unit_test_app_esp32c3/build/bootloader/bootloader.bin differ diff --git a/tests/fixtures/unit_test_app_esp32c3/build/case_tester_example.bin b/tests/fixtures/unit_test_app_esp32c3/build/case_tester_example.bin index 2ff71656..c49a8d2f 100644 Binary files a/tests/fixtures/unit_test_app_esp32c3/build/case_tester_example.bin and b/tests/fixtures/unit_test_app_esp32c3/build/case_tester_example.bin differ diff --git a/tests/fixtures/unit_test_app_esp32c3/build/config/sdkconfig.json b/tests/fixtures/unit_test_app_esp32c3/build/config/sdkconfig.json index d8f486a3..8d52d615 100644 --- a/tests/fixtures/unit_test_app_esp32c3/build/config/sdkconfig.json +++ b/tests/fixtures/unit_test_app_esp32c3/build/config/sdkconfig.json @@ -1,19 +1,19 @@ { - "ADC_CALI_SUPPRESS_DEPRECATE_WARN": false, + "ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3": false, "ADC_CONTINUOUS_ISR_IRAM_SAFE": false, + "ADC_ENABLE_DEBUG_LOG": false, "ADC_ONESHOT_CTRL_FUNC_IN_IRAM": false, - "ADC_SUPPRESS_DEPRECATE_WARN": false, + "ADC_ONESHOT_FORCE_USE_ADC2_ON_C3": false, "APPTRACE_DEST_JTAG": false, "APPTRACE_DEST_NONE": true, - "APPTRACE_DEST_UART1": false, + "APPTRACE_DEST_UART": false, "APPTRACE_DEST_UART_NONE": true, - "APPTRACE_DEST_USB_CDC": false, "APPTRACE_LOCK_ENABLE": true, "APPTRACE_UART_TASK_PRIO": 1, "APP_BUILD_BOOTLOADER": true, "APP_BUILD_GENERATE_BINARIES": true, "APP_BUILD_TYPE_APP_2NDBOOT": true, - "APP_BUILD_TYPE_ELF_RAM": false, + "APP_BUILD_TYPE_RAM": false, "APP_BUILD_USE_FLASH_SECTIONS": true, "APP_COMPILE_TIME_DATE": true, "APP_EXCLUDE_PROJECT_NAME_VAR": false, @@ -21,16 +21,20 @@ "APP_NO_BLOBS": false, "APP_PROJECT_VER_FROM_CONFIG": false, "APP_REPRODUCIBLE_BUILD": false, - "APP_RETRIEVE_LEN_ELF_SHA": 16, + "APP_RETRIEVE_LEN_ELF_SHA": 9, + "BLE_LOG_ENABLED": false, "BOOTLOADER_APP_ROLLBACK_ENABLE": false, "BOOTLOADER_APP_TEST": false, "BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG": false, - "BOOTLOADER_COMPILER_OPTIMIZATION_NONE": false, "BOOTLOADER_COMPILER_OPTIMIZATION_PERF": false, "BOOTLOADER_COMPILER_OPTIMIZATION_SIZE": true, + "BOOTLOADER_COMPILE_TIME_DATE": true, + "BOOTLOADER_CPU_CLK_FREQ_MHZ": 80, "BOOTLOADER_CUSTOM_RESERVE_RTC": false, "BOOTLOADER_FACTORY_RESET": false, + "BOOTLOADER_FLASH_DC_AWARE": false, "BOOTLOADER_FLASH_XMC_SUPPORT": true, + "BOOTLOADER_LOG_COLORS": false, "BOOTLOADER_LOG_LEVEL": 3, "BOOTLOADER_LOG_LEVEL_DEBUG": false, "BOOTLOADER_LOG_LEVEL_ERROR": false, @@ -38,13 +42,18 @@ "BOOTLOADER_LOG_LEVEL_NONE": false, "BOOTLOADER_LOG_LEVEL_VERBOSE": false, "BOOTLOADER_LOG_LEVEL_WARN": false, + "BOOTLOADER_LOG_MODE_TEXT": true, + "BOOTLOADER_LOG_MODE_TEXT_EN": true, + "BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS": true, + "BOOTLOADER_LOG_VERSION": 1, + "BOOTLOADER_LOG_VERSION_1": true, "BOOTLOADER_OFFSET_IN_FLASH": 0, + "BOOTLOADER_PROJECT_VER": 1, "BOOTLOADER_REGION_PROTECTION_ENABLE": true, "BOOTLOADER_RESERVE_RTC_SIZE": 0, "BOOTLOADER_SKIP_VALIDATE_ALWAYS": false, "BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP": false, "BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON": false, - "BOOTLOADER_VDDSDIO_BOOST_1_9V": true, "BOOTLOADER_WDT_DISABLE_IN_USER_CODE": false, "BOOTLOADER_WDT_ENABLE": true, "BOOTLOADER_WDT_TIME_MS": 9000, @@ -52,33 +61,53 @@ "BOOT_ROM_LOG_ALWAYS_ON": true, "BOOT_ROM_LOG_ON_GPIO_HIGH": false, "BOOT_ROM_LOG_ON_GPIO_LOW": false, + "BT_BLE_LOG_SPI_OUT_ENABLED": false, + "BT_BLE_LOG_UHCI_OUT_ENABLED": false, "BT_ENABLED": false, + "COMPILER_ASSERT_NDEBUG_EVALUATE": false, "COMPILER_CXX_EXCEPTIONS": false, + "COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD": false, + "COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD_CONSTEXPR": false, + "COMPILER_CXX_GLIBCXX_CONSTEXPR_NO_CHANGE": true, "COMPILER_CXX_RTTI": false, + "COMPILER_DISABLE_DEFAULT_ERRORS": false, + "COMPILER_DISABLE_GCC12_WARNINGS": false, + "COMPILER_DISABLE_GCC13_WARNINGS": false, + "COMPILER_DISABLE_GCC14_WARNINGS": false, + "COMPILER_DISABLE_GCC15_WARNINGS": false, "COMPILER_DUMP_RTL_FILES": false, "COMPILER_FLOAT_LIB_FROM_GCCLIB": true, "COMPILER_HIDE_PATHS_MACROS": true, + "COMPILER_NO_MERGE_CONSTANTS": false, "COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE": false, "COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE": true, "COMPILER_OPTIMIZATION_ASSERTIONS_SILENT": false, "COMPILER_OPTIMIZATION_ASSERTION_LEVEL": 2, "COMPILER_OPTIMIZATION_CHECKS_SILENT": false, - "COMPILER_OPTIMIZATION_DEFAULT": true, + "COMPILER_OPTIMIZATION_DEBUG": true, "COMPILER_OPTIMIZATION_NONE": false, "COMPILER_OPTIMIZATION_PERF": false, "COMPILER_OPTIMIZATION_SIZE": false, + "COMPILER_ORPHAN_SECTIONS_ERROR": true, + "COMPILER_ORPHAN_SECTIONS_PLACE": false, + "COMPILER_ORPHAN_SECTIONS_WARNING": false, + "COMPILER_RT_LIB_GCCLIB": true, + "COMPILER_RT_LIB_NAME": "gcc", "COMPILER_SAVE_RESTORE_LIBCALLS": false, "COMPILER_STACK_CHECK_MODE_ALL": false, "COMPILER_STACK_CHECK_MODE_NONE": true, "COMPILER_STACK_CHECK_MODE_NORM": false, "COMPILER_STACK_CHECK_MODE_STRONG": false, + "COMPILER_STATIC_ANALYZER": false, "COMPILER_WARN_WRITE_STRINGS": false, + "CONSOLE_SORTED_HELP": false, "EFUSE_CUSTOM_TABLE": false, "EFUSE_MAX_BLK_LEN": 256, "EFUSE_VIRTUAL": false, - "ESP32C3_REV_MAX_FULL": 99, + "ESP32C3_REV_MAX_FULL": 199, "ESP32C3_REV_MIN_0": false, "ESP32C3_REV_MIN_1": false, + "ESP32C3_REV_MIN_101": false, "ESP32C3_REV_MIN_2": false, "ESP32C3_REV_MIN_3": true, "ESP32C3_REV_MIN_4": false, @@ -86,29 +115,12 @@ "ESP32C3_UNIVERSAL_MAC_ADDRESSES": 4, "ESP32C3_UNIVERSAL_MAC_ADDRESSES_FOUR": true, "ESP32C3_UNIVERSAL_MAC_ADDRESSES_TWO": false, - "ESP32_WIFI_AMPDU_RX_ENABLED": true, - "ESP32_WIFI_AMPDU_TX_ENABLED": true, - "ESP32_WIFI_CSI_ENABLED": false, - "ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM": 32, - "ESP32_WIFI_DYNAMIC_TX_BUFFER": true, - "ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM": 32, - "ESP32_WIFI_ENABLED": true, - "ESP32_WIFI_ENABLE_WPA3_OWE_STA": true, - "ESP32_WIFI_ENABLE_WPA3_SAE": true, - "ESP32_WIFI_IRAM_OPT": true, - "ESP32_WIFI_MGMT_SBUF_NUM": 32, - "ESP32_WIFI_NVS_ENABLED": true, - "ESP32_WIFI_RX_BA_WIN": 6, - "ESP32_WIFI_RX_IRAM_OPT": true, - "ESP32_WIFI_SOFTAP_BEACON_MAX_LEN": 752, - "ESP32_WIFI_STATIC_RX_BUFFER_NUM": 10, - "ESP32_WIFI_STATIC_TX_BUFFER": false, - "ESP32_WIFI_TX_BA_WIN": 6, - "ESP32_WIFI_TX_BUFFER_TYPE": 1, - "ESPTOOLPY_AFTER": "hard_reset", + "ESPHID_TASK_SIZE_BLE": 4096, + "ESPHID_TASK_SIZE_BT": 2048, + "ESPTOOLPY_AFTER": "hard-reset", "ESPTOOLPY_AFTER_NORESET": false, "ESPTOOLPY_AFTER_RESET": true, - "ESPTOOLPY_BEFORE": "default_reset", + "ESPTOOLPY_BEFORE": "default-reset", "ESPTOOLPY_BEFORE_NORESET": false, "ESPTOOLPY_BEFORE_RESET": true, "ESPTOOLPY_FLASHFREQ": "80m", @@ -142,7 +154,12 @@ "ESP_BROWNOUT_DET_LVL_SEL_5": false, "ESP_BROWNOUT_DET_LVL_SEL_6": false, "ESP_BROWNOUT_DET_LVL_SEL_7": true, + "ESP_BROWNOUT_USE_INTR": true, + "ESP_COEX_ENABLED": true, + "ESP_COEX_EXTERNAL_COEXIST_ENABLE": false, + "ESP_COEX_GPIO_DEBUG": false, "ESP_CONSOLE_NONE": false, + "ESP_CONSOLE_ROM_SERIAL_PORT_NUM": 0, "ESP_CONSOLE_SECONDARY_NONE": false, "ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG": true, "ESP_CONSOLE_UART": true, @@ -151,6 +168,7 @@ "ESP_CONSOLE_UART_DEFAULT": true, "ESP_CONSOLE_UART_NUM": 0, "ESP_CONSOLE_USB_SERIAL_JTAG": false, + "ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED": true, "ESP_COREDUMP_ENABLE_TO_FLASH": false, "ESP_COREDUMP_ENABLE_TO_NONE": true, "ESP_COREDUMP_ENABLE_TO_UART": false, @@ -159,16 +177,29 @@ "ESP_DEFAULT_CPU_FREQ_MHZ": 160, "ESP_DEFAULT_CPU_FREQ_MHZ_160": true, "ESP_DEFAULT_CPU_FREQ_MHZ_80": false, + "ESP_EFUSE_BLOCK_REV_MAX_FULL": 199, + "ESP_EFUSE_BLOCK_REV_MIN_FULL": 0, "ESP_ERR_TO_NAME_LOOKUP": true, "ESP_EVENT_LOOP_PROFILING": false, "ESP_EVENT_POST_FROM_IRAM_ISR": true, "ESP_EVENT_POST_FROM_ISR": true, + "ESP_GDBSTUB_ENABLED": true, + "ESP_GDBSTUB_MAX_TASKS": 32, + "ESP_GDBSTUB_SUPPORT_TASKS": true, "ESP_HTTPS_OTA_ALLOW_HTTP": false, "ESP_HTTPS_OTA_DECRYPT_CB": false, + "ESP_HTTPS_OTA_ENABLE_PARTIAL_DOWNLOAD": false, + "ESP_HTTPS_OTA_EVENT_POST_TIMEOUT": 2000, + "ESP_HTTPS_SERVER_CERT_SELECT_HOOK": false, "ESP_HTTPS_SERVER_ENABLE": false, + "ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT": 2000, "ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH": false, + "ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT": false, "ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH": false, + "ESP_HTTP_CLIENT_ENABLE_GET_CONTENT_RANGE": false, "ESP_HTTP_CLIENT_ENABLE_HTTPS": true, + "ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT": 2000, + "ESP_INTR_IN_IRAM": true, "ESP_INT_WDT": true, "ESP_INT_WDT_TIMEOUT_MS": 300, "ESP_IPC_TASK_STACK_SIZE": 1024, @@ -176,7 +207,9 @@ "ESP_MAC_ADDR_UNIVERSE_ETH": true, "ESP_MAC_ADDR_UNIVERSE_WIFI_AP": true, "ESP_MAC_ADDR_UNIVERSE_WIFI_STA": true, + "ESP_MAC_UNIVERSAL_MAC_ADDRESSES": 4, "ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR": true, + "ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC": false, "ESP_MAIN_TASK_AFFINITY": 0, "ESP_MAIN_TASK_AFFINITY_CPU0": true, "ESP_MAIN_TASK_AFFINITY_NO_AFFINITY": false, @@ -186,51 +219,95 @@ "ESP_NETIF_IP_LOST_TIMER_INTERVAL": 120, "ESP_NETIF_L2_TAP": false, "ESP_NETIF_LOOPBACK": false, + "ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION": false, + "ESP_NETIF_RECEIVE_REPORT_ERRORS": false, + "ESP_NETIF_REPORT_DATA_TRAFFIC": true, + "ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF": false, "ESP_NETIF_TCPIP_LWIP": true, + "ESP_NETIF_USES_TCPIP_WITH_BSD_API": true, "ESP_PANIC_HANDLER_IRAM": false, + "ESP_PERIPH_CTRL_FUNC_IN_IRAM": true, "ESP_PHY_CALIBRATION_AND_DATA_STORAGE": true, + "ESP_PHY_CALIBRATION_MODE": 0, + "ESP_PHY_DEBUG": false, + "ESP_PHY_ENABLED": true, + "ESP_PHY_ENABLE_CERT_TEST": false, "ESP_PHY_ENABLE_USB": true, "ESP_PHY_INIT_DATA_IN_PARTITION": false, + "ESP_PHY_IRAM_OPT": true, "ESP_PHY_MAX_TX_POWER": 20, "ESP_PHY_MAX_WIFI_TX_POWER": 20, - "ESP_PHY_REDUCE_TX_POWER": true, - "ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0": true, - "ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1": true, + "ESP_PHY_PLL_TRACK_DEBUG": false, + "ESP_PHY_PLL_TRACK_PERIOD_MS": 1000, + "ESP_PHY_RECORD_USED_TIME": false, + "ESP_PHY_REDUCE_TX_POWER": false, + "ESP_PHY_RF_CAL_FULL": false, + "ESP_PHY_RF_CAL_NONE": false, + "ESP_PHY_RF_CAL_PARTIAL": true, + "ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION": true, + "ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0": false, + "ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1": false, "ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2": true, - "ESP_REV_MAX_FULL": 99, + "ESP_REGI2C_CTRL_FUNC_IN_IRAM": true, + "ESP_REV_MAX_FULL": 199, "ESP_REV_MIN_FULL": 3, + "ESP_ROM_CONSOLE_OUTPUT_SECONDARY": true, "ESP_ROM_GET_CLK_FREQ": true, "ESP_ROM_HAS_CRC_BE": true, "ESP_ROM_HAS_CRC_LE": true, + "ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV": true, "ESP_ROM_HAS_ERASE_0_REGION_BUG": true, "ESP_ROM_HAS_ETS_PRINTF_BUG": true, "ESP_ROM_HAS_JPEG_DECODE": true, "ESP_ROM_HAS_LAYOUT_TABLE": true, "ESP_ROM_HAS_MZ_CRC32": true, + "ESP_ROM_HAS_NEWLIB": true, + "ESP_ROM_HAS_NEWLIB_32BIT_TIME": true, + "ESP_ROM_HAS_NEWLIB_NANO_FORMAT": true, "ESP_ROM_HAS_RETARGETABLE_LOCKING": true, "ESP_ROM_HAS_SPI_FLASH": true, + "ESP_ROM_HAS_SPI_FLASH_MMAP": true, + "ESP_ROM_HAS_SUBOPTIMAL_NEWLIB_ON_MISALIGNED_MEMORY": true, + "ESP_ROM_HAS_SW_FLOAT": true, + "ESP_ROM_HAS_VERSION": true, + "ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE": true, "ESP_ROM_NEEDS_SWSETUP_WORKAROUND": true, + "ESP_ROM_PRINT_IN_IRAM": true, + "ESP_ROM_RAM_APP_NEEDS_MMU_INIT": true, + "ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB": true, "ESP_ROM_UART_CLK_IS_XTAL": true, + "ESP_ROM_USB_OTG_NUM": -1, "ESP_ROM_USB_SERIAL_DEVICE_NUM": 3, + "ESP_SLEEP_CACHE_SAFE_ASSERTION": false, + "ESP_SLEEP_DEBUG": false, "ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND": true, + "ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS": true, "ESP_SLEEP_GPIO_RESET_WORKAROUND": true, "ESP_SLEEP_MSPI_NEED_ALL_IO_PU": false, "ESP_SLEEP_POWER_DOWN_FLASH": false, + "ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY": 0, + "ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM": true, "ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP": true, - "ESP_SYSTEM_BROWNOUT_INTR": true, "ESP_SYSTEM_CHECK_INT_LEVEL_4": true, "ESP_SYSTEM_EVENT_QUEUE_SIZE": 32, "ESP_SYSTEM_EVENT_TASK_STACK_SIZE": 2304, "ESP_SYSTEM_GDBSTUB_RUNTIME": false, - "ESP_SYSTEM_MEMPROT_FEATURE": true, - "ESP_SYSTEM_MEMPROT_FEATURE_LOCK": true, + "ESP_SYSTEM_HW_PC_RECORD": true, + "ESP_SYSTEM_HW_STACK_GUARD": true, + "ESP_SYSTEM_IN_IRAM": true, + "ESP_SYSTEM_MEMPROT": true, + "ESP_SYSTEM_MEMPROT_PMS": true, + "ESP_SYSTEM_MEMPROT_PMS_LOCK": true, + "ESP_SYSTEM_NO_BACKTRACE": true, "ESP_SYSTEM_PANIC_GDBSTUB": false, "ESP_SYSTEM_PANIC_PRINT_HALT": false, "ESP_SYSTEM_PANIC_PRINT_REBOOT": true, + "ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS": 0, "ESP_SYSTEM_PANIC_SILENT_REBOOT": false, "ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK": true, "ESP_SYSTEM_SINGLE_CORE_MODE": true, "ESP_SYSTEM_USE_EH_FRAME": false, + "ESP_SYSTEM_USE_FRAME_POINTER": false, "ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0": true, "ESP_TASK_WDT_EN": true, "ESP_TASK_WDT_INIT": true, @@ -238,30 +315,82 @@ "ESP_TASK_WDT_TIMEOUT_S": 5, "ESP_TIMER_IMPL_SYSTIMER": true, "ESP_TIMER_INTERRUPT_LEVEL": 1, + "ESP_TIMER_IN_IRAM": true, + "ESP_TIMER_ISR_AFFINITY_CPU0": true, "ESP_TIMER_PROFILING": false, + "ESP_TIMER_SHOW_EXPERIMENTAL": false, "ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD": false, + "ESP_TIMER_TASK_AFFINITY": 0, + "ESP_TIMER_TASK_AFFINITY_CPU0": true, "ESP_TIMER_TASK_STACK_SIZE": 3584, "ESP_TIME_FUNCS_USE_ESP_TIMER": true, "ESP_TIME_FUNCS_USE_RTC_TIMER": true, "ESP_TLS_CLIENT_SESSION_TICKETS": false, + "ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED": true, "ESP_TLS_INSECURE": false, "ESP_TLS_PSK_VERIFICATION": false, - "ESP_TLS_SERVER": false, + "ESP_TLS_SERVER_CERT_SELECT_HOOK": false, + "ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL": false, + "ESP_TLS_SERVER_SESSION_TICKETS": false, "ESP_TLS_USE_DS_PERIPHERAL": true, + "ESP_TLS_USE_SECURE_ELEMENT": false, "ESP_TLS_USING_MBEDTLS": true, - "ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM": 6, - "ESP_WIFI_EXTERNAL_COEXIST_ENABLE": false, + "ESP_WIFI_11KV_SUPPORT": false, + "ESP_WIFI_11R_SUPPORT": false, + "ESP_WIFI_AMPDU_RX_ENABLED": true, + "ESP_WIFI_AMPDU_TX_ENABLED": true, + "ESP_WIFI_BSS_MAX_IDLE_SUPPORT": false, + "ESP_WIFI_CSI_ENABLED": false, + "ESP_WIFI_DEBUG_PRINT": false, + "ESP_WIFI_DPP_SUPPORT": false, + "ESP_WIFI_DYNAMIC_RX_BUFFER_NUM": 32, + "ESP_WIFI_DYNAMIC_RX_MGMT_BUF": 0, + "ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER": false, + "ESP_WIFI_DYNAMIC_TX_BUFFER": true, + "ESP_WIFI_DYNAMIC_TX_BUFFER_NUM": 32, + "ESP_WIFI_ENABLED": true, + "ESP_WIFI_ENABLE_SAE_H2E": true, + "ESP_WIFI_ENABLE_SAE_PK": true, + "ESP_WIFI_ENABLE_WPA3_OWE_STA": true, + "ESP_WIFI_ENABLE_WPA3_SAE": true, + "ESP_WIFI_ENTERPRISE_SUPPORT": true, + "ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER": false, + "ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM": 7, + "ESP_WIFI_EXTRA_IRAM_OPT": false, "ESP_WIFI_FTM_ENABLE": false, "ESP_WIFI_GCMP_SUPPORT": false, - "ESP_WIFI_GMAC_SUPPORT": false, + "ESP_WIFI_GMAC_SUPPORT": true, + "ESP_WIFI_IRAM_OPT": true, + "ESP_WIFI_MBEDTLS_CRYPTO": true, + "ESP_WIFI_MBEDTLS_TLS_CLIENT": true, + "ESP_WIFI_MBO_SUPPORT": false, + "ESP_WIFI_MGMT_SBUF_NUM": 32, + "ESP_WIFI_NVS_ENABLED": true, + "ESP_WIFI_RX_BA_WIN": 6, + "ESP_WIFI_RX_IRAM_OPT": true, + "ESP_WIFI_RX_MGMT_BUF_NUM_DEF": 5, "ESP_WIFI_SLP_BEACON_LOST_OPT": false, + "ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME": 10, + "ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME": 50, + "ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME": 15, "ESP_WIFI_SLP_IRAM_OPT": false, + "ESP_WIFI_SOFTAP_BEACON_MAX_LEN": 752, + "ESP_WIFI_SOFTAP_SAE_SUPPORT": true, "ESP_WIFI_SOFTAP_SUPPORT": true, + "ESP_WIFI_STATIC_RX_BUFFER_NUM": 10, + "ESP_WIFI_STATIC_RX_MGMT_BUFFER": true, + "ESP_WIFI_STATIC_TX_BUFFER": false, "ESP_WIFI_STA_DISCONNECTED_PM_ENABLE": true, + "ESP_WIFI_SUITE_B_192": false, + "ESP_WIFI_TX_BA_WIN": 6, + "ESP_WIFI_TX_BUFFER_TYPE": 1, + "ESP_WIFI_WAPI_PSK": false, + "ESP_WIFI_WPA3_COMPATIBLE_SUPPORT": true, + "ESP_WIFI_WPS_PASSPHRASE": false, + "ESP_WIFI_WPS_RECONNECT_ON_FAIL": false, + "ESP_WIFI_WPS_SOFTAP_REGISTRAR": false, + "ESP_WIFI_WPS_STRICT": false, "ETH_ENABLED": true, - "ETH_SPI_ETHERNET_DM9051": false, - "ETH_SPI_ETHERNET_KSZ8851SNL": false, - "ETH_SPI_ETHERNET_W5500": false, "ETH_TRANSMIT_MUTEX": false, "ETH_USE_OPENETH": false, "ETH_USE_SPI_ETHERNET": true, @@ -288,15 +417,25 @@ "FATFS_CODEPAGE_949": false, "FATFS_CODEPAGE_950": false, "FATFS_CODEPAGE_DYNAMIC": false, + "FATFS_DONT_TRUST_FREE_CLUSTER_CNT": 0, + "FATFS_DONT_TRUST_LAST_ALLOC": 0, "FATFS_FS_LOCK": 0, + "FATFS_IMMEDIATE_FSYNC": false, "FATFS_LFN_HEAP": false, "FATFS_LFN_NONE": true, "FATFS_LFN_STACK": false, + "FATFS_LINK_LOCK": true, "FATFS_PER_FILE_CACHE": true, "FATFS_SECTOR_4096": true, "FATFS_SECTOR_512": false, "FATFS_TIMEOUT_MS": 10000, + "FATFS_USE_DYN_BUFFERS": false, "FATFS_USE_FASTSEEK": false, + "FATFS_USE_LABEL": false, + "FATFS_USE_STRFUNC_NONE": true, + "FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV": false, + "FATFS_USE_STRFUNC_WITH_CRLF_CONV": false, + "FATFS_VFS_FSTAT_BLKSIZE": 0, "FATFS_VOLUME_COUNT": 2, "FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER": true, "FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE": false, @@ -307,73 +446,115 @@ "FREERTOS_CORETIMER_SYSTIMER_LVL3": false, "FREERTOS_DEBUG_OCDAWARE": true, "FREERTOS_ENABLE_BACKWARD_COMPATIBILITY": false, - "FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP": false, - "FREERTOS_ENABLE_TASK_SNAPSHOT": true, "FREERTOS_GENERATE_RUN_TIME_STATS": false, "FREERTOS_HZ": 100, "FREERTOS_IDLE_TASK_STACKSIZE": 1536, "FREERTOS_INTERRUPT_BACKTRACE": true, + "FREERTOS_IN_IRAM": false, "FREERTOS_ISR_STACKSIZE": 1536, "FREERTOS_MAX_TASK_NAME_LEN": 16, "FREERTOS_NO_AFFINITY": 2147483647, + "FREERTOS_NUMBER_OF_CORES": 1, "FREERTOS_OPTIMIZED_SCHEDULER": true, - "FREERTOS_PLACE_FUNCTIONS_INTO_FLASH": false, - "FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH": false, + "FREERTOS_PORT": true, "FREERTOS_QUEUE_REGISTRY_SIZE": 0, "FREERTOS_SMP": false, "FREERTOS_SUPPORT_STATIC_ALLOCATION": true, "FREERTOS_SYSTICK_USES_SYSTIMER": true, "FREERTOS_TASK_FUNCTION_WRAPPER": true, "FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES": 1, + "FREERTOS_TASK_PRE_DELETION_HOOK": false, "FREERTOS_THREAD_LOCAL_STORAGE_POINTERS": 1, "FREERTOS_TICK_SUPPORT_SYSTIMER": true, "FREERTOS_TIMER_QUEUE_LENGTH": 10, + "FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY": 2147483647, + "FREERTOS_TIMER_SERVICE_TASK_NAME": "Tmr Svc", + "FREERTOS_TIMER_TASK_AFFINITY_CPU0": false, + "FREERTOS_TIMER_TASK_NO_AFFINITY": true, "FREERTOS_TIMER_TASK_PRIORITY": 1, "FREERTOS_TIMER_TASK_STACK_DEPTH": 2048, "FREERTOS_TLSP_DELETION_CALLBACKS": true, "FREERTOS_UNICORE": true, + "FREERTOS_USE_APPLICATION_TASK_TAG": false, "FREERTOS_USE_IDLE_HOOK": false, + "FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES": false, "FREERTOS_USE_TICK_HOOK": false, + "FREERTOS_USE_TIMERS": true, "FREERTOS_USE_TRACE_FACILITY": false, "FREERTOS_WATCHPOINT_END_OF_STACK": false, - "GDMA_CTRL_FUNC_IN_IRAM": false, - "GDMA_ISR_IRAM_SAFE": false, + "GDMA_CTRL_FUNC_IN_IRAM": true, + "GDMA_ENABLE_DEBUG_LOG": false, + "GDMA_ISR_HANDLER_IN_IRAM": true, + "GDMA_OBJ_DRAM_SAFE": true, "GPIO_CTRL_FUNC_IN_IRAM": false, "GPTIMER_CTRL_FUNC_IN_IRAM": false, "GPTIMER_ENABLE_DEBUG_LOG": false, - "GPTIMER_ISR_IRAM_SAFE": false, - "GPTIMER_SUPPRESS_DEPRECATE_WARN": false, + "GPTIMER_ISR_CACHE_SAFE": false, + "GPTIMER_ISR_HANDLER_IN_IRAM": true, + "GPTIMER_OBJ_CACHE_SAFE": true, "HAL_ASSERTION_DISABLE": false, "HAL_ASSERTION_ENABLE": false, "HAL_ASSERTION_EQUALS_SYSTEM": true, "HAL_ASSERTION_SILENT": false, "HAL_DEFAULT_ASSERTION_LEVEL": 2, + "HAL_GPIO_USE_ROM_IMPL": true, "HEAP_ABORT_WHEN_ALLOCATION_FAILS": false, + "HEAP_PLACE_FUNCTION_INTO_FLASH": false, "HEAP_POISONING_COMPREHENSIVE": false, "HEAP_POISONING_DISABLED": true, "HEAP_POISONING_LIGHT": false, + "HEAP_TASK_TRACKING": false, "HEAP_TRACING_OFF": true, "HEAP_TRACING_STANDALONE": false, "HEAP_TRACING_TOHOST": false, + "HEAP_USE_HOOKS": false, "HTTPD_ERR_RESP_NO_DELAY": true, "HTTPD_LOG_PURGE_DATA": false, - "HTTPD_MAX_REQ_HDR_LEN": 512, + "HTTPD_MAX_REQ_HDR_LEN": 1024, "HTTPD_MAX_URI_LEN": 512, "HTTPD_PURGE_BUF_LEN": 32, "HTTPD_QUEUE_WORK_BLOCKING": false, + "HTTPD_SERVER_EVENT_POST_TIMEOUT": 2000, "HTTPD_WS_SUPPORT": false, + "I2C_ENABLE_DEBUG_LOG": false, + "I2C_ISR_IRAM_SAFE": false, + "I2C_MASTER_ISR_HANDLER_IN_IRAM": true, + "I2C_SKIP_LEGACY_CONFLICT_CHECK": false, + "I2S_CTRL_FUNC_IN_IRAM": false, "I2S_ENABLE_DEBUG_LOG": false, "I2S_ISR_IRAM_SAFE": false, - "I2S_SUPPRESS_DEPRECATE_WARN": false, + "I3C_MASTER_ENABLE_DEBUG_LOG": false, + "I3C_MASTER_ISR_CACHE_SAFE": false, + "I3C_MASTER_ISR_HANDLER_IN_IRAM": false, "IDF_CMAKE": true, + "IDF_EXPERIMENTAL_FEATURES": false, "IDF_FIRMWARE_CHIP_ID": 5, + "IDF_INIT_VERSION": "6.0.0", "IDF_TARGET": "esp32c3", "IDF_TARGET_ARCH": "riscv", "IDF_TARGET_ARCH_RISCV": true, "IDF_TARGET_ESP32C3": true, + "IDF_TOOLCHAIN": "gcc", + "IDF_TOOLCHAIN_GCC": true, "LCD_ENABLE_DEBUG_LOG": false, - "LCD_PANEL_IO_FORMAT_BUF_SIZE": 32, - "LOG_COLORS": true, + "LEDC_CTRL_FUNC_IN_IRAM": false, + "LIBC_ASSERT_BUFFER_SIZE": 200, + "LIBC_LOCKS_PLACE_IN_IRAM": true, + "LIBC_MISC_IN_IRAM": true, + "LIBC_NEWLIB": true, + "LIBC_NEWLIB_NANO_FORMAT": false, + "LIBC_OPTIMIZED_MISALIGNED_ACCESS": true, + "LIBC_STDIN_LINE_ENDING_CR": true, + "LIBC_STDIN_LINE_ENDING_CRLF": false, + "LIBC_STDIN_LINE_ENDING_LF": false, + "LIBC_STDOUT_LINE_ENDING_CR": false, + "LIBC_STDOUT_LINE_ENDING_CRLF": true, + "LIBC_STDOUT_LINE_ENDING_LF": false, + "LIBC_TIME_SYSCALL_USE_HRT": false, + "LIBC_TIME_SYSCALL_USE_NONE": false, + "LIBC_TIME_SYSCALL_USE_RTC": false, + "LIBC_TIME_SYSCALL_USE_RTC_HRT": true, + "LOG_COLORS": false, "LOG_DEFAULT_LEVEL": 3, "LOG_DEFAULT_LEVEL_DEBUG": false, "LOG_DEFAULT_LEVEL_ERROR": false, @@ -381,38 +562,75 @@ "LOG_DEFAULT_LEVEL_NONE": false, "LOG_DEFAULT_LEVEL_VERBOSE": false, "LOG_DEFAULT_LEVEL_WARN": false, + "LOG_DYNAMIC_LEVEL_CONTROL": true, + "LOG_IN_IRAM": true, + "LOG_MASTER_LEVEL": false, "LOG_MAXIMUM_EQUALS_DEFAULT": true, "LOG_MAXIMUM_LEVEL": 3, "LOG_MAXIMUM_LEVEL_DEBUG": false, "LOG_MAXIMUM_LEVEL_VERBOSE": false, + "LOG_MODE_TEXT": true, + "LOG_MODE_TEXT_EN": true, + "LOG_TAG_LEVEL_CACHE_ARRAY": false, + "LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP": true, + "LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST": true, + "LOG_TAG_LEVEL_IMPL_CACHE_SIZE": 31, + "LOG_TAG_LEVEL_IMPL_LINKED_LIST": false, + "LOG_TAG_LEVEL_IMPL_NONE": false, "LOG_TIMESTAMP_SOURCE_RTOS": true, "LOG_TIMESTAMP_SOURCE_SYSTEM": false, + "LOG_VERSION": 1, + "LOG_VERSION_1": true, + "LOG_VERSION_2": false, "LWIP_AUTOIP": false, "LWIP_BRIDGEIF_MAX_PORTS": 7, "LWIP_BROADCAST_PING": false, "LWIP_CHECKSUM_CHECK_ICMP": true, "LWIP_CHECKSUM_CHECK_IP": false, "LWIP_CHECKSUM_CHECK_UDP": false, + "LWIP_CHECK_THREAD_SAFETY": false, "LWIP_DEBUG": false, "LWIP_DHCPS": true, "LWIP_DHCPS_LEASE_UNIT": 60, + "LWIP_DHCPS_MAX_HOSTNAME_LEN": 64, "LWIP_DHCPS_MAX_STATION_NUM": 8, + "LWIP_DHCPS_REPORT_CLIENT_HOSTNAME": true, + "LWIP_DHCPS_STATIC_ENTRIES": true, + "LWIP_DHCP_COARSE_TIMER_SECS": 1, "LWIP_DHCP_DISABLE_CLIENT_ID": false, "LWIP_DHCP_DISABLE_VENDOR_CLASS_ID": true, + "LWIP_DHCP_DOES_ACD_CHECK": false, "LWIP_DHCP_DOES_ARP_CHECK": true, + "LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP": false, "LWIP_DHCP_GET_NTP_SRV": false, - "LWIP_DHCP_OPTIONS_LEN": 68, + "LWIP_DHCP_OPTIONS_LEN": 69, "LWIP_DHCP_RESTORE_LAST_IP": false, + "LWIP_DNS_MAX_HOST_IP": 1, + "LWIP_DNS_MAX_SERVERS": 3, + "LWIP_DNS_SETSERVER_WITH_NETIF": false, "LWIP_DNS_SUPPORT_MDNS_QUERIES": true, + "LWIP_ENABLE": true, "LWIP_ESP_GRATUITOUS_ARP": true, "LWIP_ESP_LWIP_ASSERT": true, + "LWIP_ESP_MLDV6_REPORT": true, + "LWIP_EXTRA_IRAM_OPTIMIZATION": false, + "LWIP_FALLBACK_DNS_SERVER_SUPPORT": false, + "LWIP_FORCE_ROUTER_FORWARDING": false, "LWIP_GARP_TMR_INTERVAL": 60, + "LWIP_HOOK_DHCP_EXTRA_OPTION_CUSTOM": false, + "LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT": false, + "LWIP_HOOK_DHCP_EXTRA_OPTION_NONE": true, + "LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM": false, + "LWIP_HOOK_DNS_EXT_RESOLVE_NONE": true, "LWIP_HOOK_IP6_INPUT_CUSTOM": false, - "LWIP_HOOK_IP6_INPUT_DEFAULT": false, - "LWIP_HOOK_IP6_INPUT_NONE": true, + "LWIP_HOOK_IP6_INPUT_DEFAULT": true, + "LWIP_HOOK_IP6_INPUT_NONE": false, "LWIP_HOOK_IP6_ROUTE_CUSTOM": false, "LWIP_HOOK_IP6_ROUTE_DEFAULT": false, "LWIP_HOOK_IP6_ROUTE_NONE": true, + "LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM": false, + "LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT": false, + "LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE": true, "LWIP_HOOK_ND6_GET_GW_CUSTOM": false, "LWIP_HOOK_ND6_GET_GW_DEFAULT": false, "LWIP_HOOK_ND6_GET_GW_NONE": true, @@ -427,13 +645,21 @@ "LWIP_IP4_REASSEMBLY": false, "LWIP_IP6_FRAG": true, "LWIP_IP6_REASSEMBLY": false, + "LWIP_IPV4": true, "LWIP_IPV6": true, "LWIP_IPV6_AUTOCONFIG": false, + "LWIP_IPV6_DUP_DETECT_ATTEMPTS": 1, "LWIP_IPV6_FORWARD": false, "LWIP_IPV6_MEMP_NUM_ND6_QUEUE": 3, + "LWIP_IPV6_ND6_NUM_DESTINATIONS": 10, "LWIP_IPV6_ND6_NUM_NEIGHBORS": 5, + "LWIP_IPV6_ND6_NUM_PREFIXES": 5, + "LWIP_IPV6_ND6_NUM_ROUTERS": 3, + "LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT": false, "LWIP_IPV6_NUM_ADDRESSES": 3, + "LWIP_IP_DEFAULT_TTL": 64, "LWIP_IP_FORWARD": false, + "LWIP_IP_REASS_MAX_PBUFS": 10, "LWIP_IRAM_OPTIMIZATION": false, "LWIP_L2_TO_L3_COPY": false, "LWIP_LOCAL_HOSTNAME": "espressif", @@ -443,15 +669,19 @@ "LWIP_MAX_RAW_PCBS": 16, "LWIP_MAX_SOCKETS": 10, "LWIP_MAX_UDP_PCBS": 16, + "LWIP_MLDV6_TMR_INTERVAL": 40, "LWIP_MULTICAST_PING": false, + "LWIP_ND6": true, "LWIP_NETBUF_RECVINFO": false, - "LWIP_NETIF_API": false, + "LWIP_NETIF_LINK_CALLBACK": false, "LWIP_NETIF_LOOPBACK": true, "LWIP_NETIF_STATUS_CALLBACK": false, "LWIP_NUM_NETIF_CLIENT_DATA": 0, "LWIP_PPP_SUPPORT": false, "LWIP_SLIP_SUPPORT": false, + "LWIP_SNTP_MAXIMUM_STARTUP_DELAY": 5000, "LWIP_SNTP_MAX_SERVERS": 1, + "LWIP_SNTP_STARTUP_DELAY": true, "LWIP_SNTP_UPDATE_DELAY": 3600000, "LWIP_SO_LINGER": false, "LWIP_SO_RCVBUF": false, @@ -463,12 +693,16 @@ "LWIP_TCPIP_TASK_AFFINITY": 2147483647, "LWIP_TCPIP_TASK_AFFINITY_CPU0": false, "LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY": true, + "LWIP_TCPIP_TASK_PRIO": 18, "LWIP_TCPIP_TASK_STACK_SIZE": 3072, + "LWIP_TCP_ACCEPTMBOX_SIZE": 6, "LWIP_TCP_FIN_WAIT_TIMEOUT": 20000, "LWIP_TCP_HIGH_SPEED_RETRANSMISSION": true, "LWIP_TCP_MAXRTX": 12, "LWIP_TCP_MSL": 60000, "LWIP_TCP_MSS": 1440, + "LWIP_TCP_OOSEQ_MAX_PBUFS": 4, + "LWIP_TCP_OOSEQ_TIMEOUT": 6, "LWIP_TCP_OVERSIZE_DISABLE": false, "LWIP_TCP_OVERSIZE_MSS": true, "LWIP_TCP_OVERSIZE_QUARTER_MSS": false, @@ -476,35 +710,64 @@ "LWIP_TCP_RECVMBOX_SIZE": 6, "LWIP_TCP_RTO_TIME": 1500, "LWIP_TCP_SACK_OUT": false, - "LWIP_TCP_SND_BUF_DEFAULT": 5744, + "LWIP_TCP_SND_BUF_DEFAULT": 5760, "LWIP_TCP_SYNMAXRTX": 12, "LWIP_TCP_TMR_INTERVAL": 250, - "LWIP_TCP_WND_DEFAULT": 5744, + "LWIP_TCP_WND_DEFAULT": 5760, "LWIP_TIMERS_ONDEMAND": true, "LWIP_UDP_RECVMBOX_SIZE": 6, + "LWIP_USE_ESP_GETADDRINFO": false, "LWIP_USE_ONLY_LWIP_SELECT": false, "MBEDTLS_AES_C": true, + "MBEDTLS_AES_FEWER_TABLES": false, + "MBEDTLS_AES_HW_SMALL_DATA_LEN_OPTIM": true, + "MBEDTLS_AES_INTERRUPT_LEVEL": 0, + "MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH": false, + "MBEDTLS_AES_ROM_TABLES": true, "MBEDTLS_AES_USE_INTERRUPT": true, + "MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION": false, + "MBEDTLS_ARIA_C": true, + "MBEDTLS_ASN1_PARSE_C": true, + "MBEDTLS_ASN1_WRITE_C": true, "MBEDTLS_ASYMMETRIC_CONTENT_LEN": true, "MBEDTLS_ATCA_HW_ECDSA_SIGN": false, "MBEDTLS_ATCA_HW_ECDSA_VERIFY": false, + "MBEDTLS_BASE64_C": true, + "MBEDTLS_BIGNUM_C": true, "MBEDTLS_BLOWFISH_C": false, "MBEDTLS_CAMELLIA_C": false, "MBEDTLS_CCM_C": true, "MBEDTLS_CERTIFICATE_BUNDLE": true, + "MBEDTLS_CERTIFICATE_BUNDLE_CROSS_SIGNED_VERIFY": false, "MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN": false, "MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL": true, "MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE": false, + "MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST": false, "MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS": 200, "MBEDTLS_CHACHA20_C": false, + "MBEDTLS_CIPHER_C": true, + "MBEDTLS_CIPHER_MODE_CBC": true, + "MBEDTLS_CIPHER_MODE_CFB": true, + "MBEDTLS_CIPHER_MODE_CTR": true, + "MBEDTLS_CIPHER_MODE_OFB": true, + "MBEDTLS_CIPHER_MODE_XTS": true, + "MBEDTLS_CIPHER_PADDING": true, + "MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS": true, + "MBEDTLS_CIPHER_PADDING_PKCS7": true, + "MBEDTLS_CIPHER_PADDING_ZEROS": true, + "MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN": true, "MBEDTLS_CLIENT_SSL_SESSION_TICKETS": true, - "MBEDTLS_CMAC_C": false, + "MBEDTLS_CMAC_C": true, + "MBEDTLS_COMPILER_OPTIMIZATION_NONE": true, + "MBEDTLS_COMPILER_OPTIMIZATION_PERF": false, + "MBEDTLS_COMPILER_OPTIMIZATION_SIZE": false, + "MBEDTLS_CTR_DRBG_C": true, "MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE": false, "MBEDTLS_CUSTOM_MEM_ALLOC": false, "MBEDTLS_DEBUG": false, "MBEDTLS_DEFAULT_MEM_ALLOC": false, "MBEDTLS_DES_C": false, - "MBEDTLS_DHM_C": false, + "MBEDTLS_DHM_C": true, "MBEDTLS_DYNAMIC_BUFFER": false, "MBEDTLS_ECDH_C": true, "MBEDTLS_ECDSA_C": true, @@ -523,16 +786,25 @@ "MBEDTLS_ECP_DP_SECP256R1_ENABLED": true, "MBEDTLS_ECP_DP_SECP384R1_ENABLED": true, "MBEDTLS_ECP_DP_SECP521R1_ENABLED": true, + "MBEDTLS_ECP_FIXED_POINT_OPTIM": false, "MBEDTLS_ECP_NIST_OPTIM": true, "MBEDTLS_ECP_RESTARTABLE": false, + "MBEDTLS_ENTROPY_C": true, + "MBEDTLS_ENTROPY_FORCE_SHA256": false, + "MBEDTLS_ERROR_STRINGS": true, + "MBEDTLS_FS_IO": true, "MBEDTLS_GCM_C": true, + "MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER": true, + "MBEDTLS_GENPRIME": true, "MBEDTLS_HARDWARE_AES": true, "MBEDTLS_HARDWARE_MPI": true, "MBEDTLS_HARDWARE_SHA": true, "MBEDTLS_HAVE_TIME": true, "MBEDTLS_HAVE_TIME_DATE": false, "MBEDTLS_HKDF_C": false, + "MBEDTLS_HMAC_DRBG_C": true, "MBEDTLS_INTERNAL_MEM_ALLOC": true, + "MBEDTLS_KEY_EXCHANGE_DHE_RSA": true, "MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA": true, "MBEDTLS_KEY_EXCHANGE_ECDHE_RSA": true, "MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA": true, @@ -540,28 +812,54 @@ "MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE": true, "MBEDTLS_KEY_EXCHANGE_RSA": true, "MBEDTLS_LARGE_KEY_SOFTWARE_MPI": true, + "MBEDTLS_MD5_C": true, + "MBEDTLS_MD_C": true, + "MBEDTLS_MPI_INTERRUPT_LEVEL": 0, "MBEDTLS_MPI_USE_INTERRUPT": true, "MBEDTLS_NIST_KW_C": false, + "MBEDTLS_OID_C": true, "MBEDTLS_PEM_PARSE_C": true, "MBEDTLS_PEM_WRITE_C": true, + "MBEDTLS_PKCS12_C": true, + "MBEDTLS_PKCS1_V15": true, + "MBEDTLS_PKCS1_V21": true, + "MBEDTLS_PKCS5_C": true, + "MBEDTLS_PKCS7_C": true, + "MBEDTLS_PK_C": true, + "MBEDTLS_PK_PARSE_C": true, + "MBEDTLS_PK_PARSE_EC_COMPRESSED": true, + "MBEDTLS_PK_PARSE_EC_EXTENDED": true, + "MBEDTLS_PK_RSA_ALT_SUPPORT": true, + "MBEDTLS_PK_WRITE_C": true, "MBEDTLS_PLATFORM_TIME_ALT": false, "MBEDTLS_POLY1305_C": false, "MBEDTLS_PSK_MODES": false, "MBEDTLS_RIPEMD160_C": false, "MBEDTLS_ROM_MD5": true, - "MBEDTLS_SECURITY_RISKS": false, + "MBEDTLS_RSA_C": true, + "MBEDTLS_SELF_TEST": true, "MBEDTLS_SERVER_SSL_SESSION_TICKETS": true, + "MBEDTLS_SHA1_C": true, + "MBEDTLS_SHA224_C": false, + "MBEDTLS_SHA256_C": true, + "MBEDTLS_SHA384_C": true, + "MBEDTLS_SHA3_C": true, "MBEDTLS_SHA512_C": true, + "MBEDTLS_SSL_ALL_ALERT_MESSAGES": true, "MBEDTLS_SSL_ALPN": true, + "MBEDTLS_SSL_CACHE_C": true, "MBEDTLS_SSL_CONTEXT_SERIALIZATION": false, "MBEDTLS_SSL_IN_CONTENT_LEN": 16384, - "MBEDTLS_SSL_KEEP_PEER_CERTIFICATE": true, + "MBEDTLS_SSL_KEEP_PEER_CERTIFICATE": false, + "MBEDTLS_SSL_KEYING_MATERIAL_EXPORT": false, + "MBEDTLS_SSL_MAX_FRAGMENT_LENGTH": true, "MBEDTLS_SSL_OUT_CONTENT_LEN": 4096, "MBEDTLS_SSL_PROTO_DTLS": false, "MBEDTLS_SSL_PROTO_GMTSSL1_1": false, "MBEDTLS_SSL_PROTO_TLS1_2": true, "MBEDTLS_SSL_PROTO_TLS1_3": false, "MBEDTLS_SSL_RENEGOTIATION": true, + "MBEDTLS_SSL_SERVER_NAME_INDICATION": true, "MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH": false, "MBEDTLS_THREADING_C": false, "MBEDTLS_TLS_CLIENT": true, @@ -571,9 +869,16 @@ "MBEDTLS_TLS_SERVER": true, "MBEDTLS_TLS_SERVER_AND_CLIENT": true, "MBEDTLS_TLS_SERVER_ONLY": false, + "MBEDTLS_VERSION_C": true, + "MBEDTLS_VERSION_FEATURES": false, + "MBEDTLS_X509_CREATE_C": false, "MBEDTLS_X509_CRL_PARSE_C": true, + "MBEDTLS_X509_CRT_PARSE_C": true, "MBEDTLS_X509_CSR_PARSE_C": true, + "MBEDTLS_X509_REMOVE_INFO": false, + "MBEDTLS_X509_RSASSA_PSS_SUPPORT": true, "MBEDTLS_X509_TRUSTED_CERT_CALLBACK": false, + "MBEDTLS_X509_USE_C": true, "MBEDTLS_XTEA_C": false, "MMU_PAGE_MODE": "64KB", "MMU_PAGE_SIZE": 65536, @@ -589,19 +894,14 @@ "MQTT_TRANSPORT_WEBSOCKET": true, "MQTT_TRANSPORT_WEBSOCKET_SECURE": true, "MQTT_USE_CUSTOM_CONFIG": false, - "NEWLIB_NANO_FORMAT": false, - "NEWLIB_STDIN_LINE_ENDING_CR": true, - "NEWLIB_STDIN_LINE_ENDING_CRLF": false, - "NEWLIB_STDIN_LINE_ENDING_LF": false, - "NEWLIB_STDOUT_LINE_ENDING_CR": false, - "NEWLIB_STDOUT_LINE_ENDING_CRLF": true, - "NEWLIB_STDOUT_LINE_ENDING_LF": false, - "NEWLIB_TIME_SYSCALL_USE_HRT": false, - "NEWLIB_TIME_SYSCALL_USE_NONE": false, - "NEWLIB_TIME_SYSCALL_USE_RTC": false, - "NEWLIB_TIME_SYSCALL_USE_RTC_HRT": true, "NVS_ASSERT_ERROR_CHECK": false, + "NVS_ENCRYPTION": false, + "NVS_LEGACY_DUP_KEYS_COMPATIBILITY": false, + "OPENTHREAD_CLI": true, + "OPENTHREAD_CONSOLE_COMMAND_PREFIX": "ot", + "OPENTHREAD_DEBUG": false, "OPENTHREAD_ENABLED": false, + "OPENTHREAD_SPINEL_ONLY": false, "PARTITION_TABLE_CUSTOM": false, "PARTITION_TABLE_CUSTOM_FILENAME": "partitions.csv", "PARTITION_TABLE_FILENAME": "partitions_singleapp.csv", @@ -610,28 +910,35 @@ "PARTITION_TABLE_SINGLE_APP": true, "PARTITION_TABLE_SINGLE_APP_LARGE": false, "PARTITION_TABLE_TWO_OTA": false, - "PERIPH_CTRL_FUNC_IN_IRAM": false, + "PARTITION_TABLE_TWO_OTA_LARGE": false, "PM_ENABLE": false, "PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP": true, + "PM_SLEEP_FUNC_IN_IRAM": true, + "PM_SLP_IRAM_OPT": true, "PTHREAD_STACK_MIN": 768, "PTHREAD_TASK_CORE_DEFAULT": -1, "PTHREAD_TASK_NAME_DEFAULT": "pthread", "PTHREAD_TASK_PRIO_DEFAULT": 5, "PTHREAD_TASK_STACK_SIZE_DEFAULT": 3072, - "RINGBUF_PLACE_FUNCTIONS_INTO_FLASH": false, + "RINGBUF_IN_IRAM": false, "RINGBUF_PLACE_ISR_FUNCTIONS_INTO_FLASH": false, "RMT_ENABLE_DEBUG_LOG": false, + "RMT_ENCODER_FUNC_IN_IRAM": true, "RMT_ISR_IRAM_SAFE": false, - "RMT_SUPPRESS_DEPRECATE_WARN": false, + "RMT_OBJ_CACHE_SAFE": true, + "RMT_RECV_FUNC_IN_IRAM": false, + "RMT_RX_ISR_CACHE_SAFE": false, + "RMT_RX_ISR_HANDLER_IN_IRAM": true, + "RMT_TX_ISR_CACHE_SAFE": false, + "RMT_TX_ISR_HANDLER_IN_IRAM": true, "RTC_CLK_CAL_CYCLES": 1024, "RTC_CLK_SRC_EXT_CRYS": false, "RTC_CLK_SRC_EXT_OSC": false, "RTC_CLK_SRC_INT_8MD256": false, "RTC_CLK_SRC_INT_RC": true, - "RTC_CLOCK_BBPLL_POWER_ON_WITH_USB": true, "SDM_CTRL_FUNC_IN_IRAM": false, "SDM_ENABLE_DEBUG_LOG": false, - "SDM_SUPPRESS_DEPRECATE_WARN": false, + "SD_ENABLE_SDIO_SUPPORT": true, "SECURE_BOOT": false, "SECURE_BOOT_V2_PREFERRED": true, "SECURE_BOOT_V2_RSA_SUPPORTED": true, @@ -643,14 +950,14 @@ "SOC_ADC_CALIBRATION_V1_SUPPORTED": true, "SOC_ADC_DIGI_CONTROLLER_NUM": 1, "SOC_ADC_DIGI_DATA_BYTES_PER_CONV": 4, - "SOC_ADC_DIGI_FILTER_NUM": 2, + "SOC_ADC_DIGI_IIR_FILTER_NUM": 2, "SOC_ADC_DIGI_MAX_BITWIDTH": 12, "SOC_ADC_DIGI_MIN_BITWIDTH": 12, "SOC_ADC_DIGI_MONITOR_NUM": 2, "SOC_ADC_DIGI_RESULT_BYTES": 4, "SOC_ADC_DIG_CTRL_SUPPORTED": true, + "SOC_ADC_DIG_IIR_FILTER_SUPPORTED": true, "SOC_ADC_DMA_SUPPORTED": true, - "SOC_ADC_FILTER_SUPPORTED": true, "SOC_ADC_MAX_CHANNEL_NUM": 5, "SOC_ADC_MONITOR_SUPPORTED": true, "SOC_ADC_PATT_LEN_MAX": 8, @@ -659,78 +966,118 @@ "SOC_ADC_RTC_MIN_BITWIDTH": 12, "SOC_ADC_SAMPLE_FREQ_THRES_HIGH": 83333, "SOC_ADC_SAMPLE_FREQ_THRES_LOW": 611, + "SOC_ADC_SELF_HW_CALI_SUPPORTED": true, + "SOC_ADC_SHARED_POWER": true, "SOC_ADC_SUPPORTED": true, "SOC_AES_GDMA": true, "SOC_AES_SUPPORTED": true, "SOC_AES_SUPPORT_AES_128": true, "SOC_AES_SUPPORT_AES_256": true, "SOC_AES_SUPPORT_DMA": true, + "SOC_AHB_GDMA_SUPPORTED": true, + "SOC_AHB_GDMA_VERSION": 1, "SOC_APB_BACKUP_DMA": true, + "SOC_ASSIST_DEBUG_SUPPORTED": true, "SOC_ASYNC_MEMCPY_SUPPORTED": true, + "SOC_BLE_50_SUPPORTED": true, + "SOC_BLE_DEVICE_PRIVACY_SUPPORTED": true, "SOC_BLE_MESH_SUPPORTED": true, "SOC_BLE_SUPPORTED": true, + "SOC_BLUFI_SUPPORTED": true, + "SOC_BOD_SUPPORTED": true, "SOC_BROWNOUT_RESET_SUPPORTED": true, "SOC_BT_SUPPORTED": true, + "SOC_CACHE_FREEZE_SUPPORTED": true, "SOC_CACHE_MEMORY_IBANK_SIZE": 16384, + "SOC_CLK_LP_FAST_SUPPORT_XTAL_D2": true, "SOC_CLK_RC_FAST_D256_SUPPORTED": true, + "SOC_CLK_RC_FAST_SUPPORT_CALIBRATION": true, + "SOC_CLK_TREE_SUPPORTED": true, + "SOC_CLK_XTAL32K_SUPPORTED": true, "SOC_COEX_HW_PTI": true, "SOC_CPU_BREAKPOINTS_NUM": 8, "SOC_CPU_CORES_NUM": 1, + "SOC_CPU_HAS_CSR_PC": true, "SOC_CPU_HAS_FLEXIBLE_INTC": true, "SOC_CPU_INTR_NUM": 32, "SOC_CPU_WATCHPOINTS_NUM": 8, - "SOC_CPU_WATCHPOINT_SIZE": 2147483648, + "SOC_CPU_WATCHPOINT_MAX_REGION_SIZE": 2147483648, "SOC_DEDICATED_GPIO_SUPPORTED": true, - "SOC_DEDIC_GPIO_IN_CHANNELS_NUM": 8, - "SOC_DEDIC_GPIO_OUT_CHANNELS_NUM": 8, - "SOC_DEDIC_PERIPH_ALWAYS_ENABLE": true, + "SOC_DEEP_SLEEP_SUPPORTED": true, "SOC_DIG_SIGN_SUPPORTED": true, "SOC_DS_KEY_CHECK_MAX_WAIT_US": 1100, "SOC_DS_KEY_PARAM_MD_IV_LENGTH": 16, "SOC_DS_SIGNATURE_MAX_BIT_LEN": 3072, + "SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK": true, + "SOC_EFUSE_DIS_DIRECT_BOOT": true, + "SOC_EFUSE_DIS_DOWNLOAD_ICACHE": true, + "SOC_EFUSE_DIS_ICACHE": true, + "SOC_EFUSE_DIS_PAD_JTAG": true, + "SOC_EFUSE_DIS_USB_JTAG": true, "SOC_EFUSE_HAS_EFUSE_RST_BUG": true, "SOC_EFUSE_KEY_PURPOSE_FIELD": true, "SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS": true, "SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS": 3, + "SOC_EFUSE_SOFT_DIS_JTAG": true, + "SOC_EFUSE_SUPPORTED": true, "SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX": 32, "SOC_FLASH_ENCRYPTION_XTS_AES": true, "SOC_FLASH_ENCRYPTION_XTS_AES_128": true, "SOC_FLASH_ENC_SUPPORTED": true, - "SOC_GDMA_GROUPS": 1, - "SOC_GDMA_PAIRS_PER_GROUP": 3, + "SOC_GDMA_NUM_GROUPS_MAX": 1, + "SOC_GDMA_PAIRS_PER_GROUP_MAX": 3, "SOC_GDMA_SUPPORTED": true, - "SOC_GDMA_TX_RX_SHARE_INTERRUPT": true, + "SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX": true, + "SOC_GPIO_CLOCKOUT_CHANNEL_NUM": 3, + "SOC_GPIO_DEEP_SLEEP_WAKE_SUPPORTED_PIN_CNT": 6, "SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK": 0, + "SOC_GPIO_FILTER_CLK_SUPPORT_APB": true, + "SOC_GPIO_IN_RANGE_MAX": 21, + "SOC_GPIO_OUT_RANGE_MAX": 21, "SOC_GPIO_PIN_COUNT": 22, "SOC_GPIO_PORT": 1, - "SOC_GPIO_SUPPORTS_RTC_INDEPENDENT": true, "SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP": true, "SOC_GPIO_SUPPORT_FORCE_HOLD": true, - "SOC_GPIO_SUPPORT_SLP_SWITCH": true, + "SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP": true, + "SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER": true, "SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK": 4194240, + "SOC_GPSPI_SUPPORTED": true, + "SOC_GPTIMER_SUPPORTED": true, "SOC_HMAC_SUPPORTED": true, + "SOC_HP_I2C_NUM": 1, + "SOC_I2C_CMD_REG_NUM": 8, "SOC_I2C_FIFO_LEN": 32, "SOC_I2C_NUM": 1, + "SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE": true, + "SOC_I2C_SLAVE_SUPPORT_BROADCAST": true, + "SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS": true, "SOC_I2C_SUPPORTED": true, + "SOC_I2C_SUPPORT_10BIT_ADDR": true, "SOC_I2C_SUPPORT_HW_CLR_BUS": true, "SOC_I2C_SUPPORT_RTC": true, "SOC_I2C_SUPPORT_SLAVE": true, "SOC_I2C_SUPPORT_XTAL": true, "SOC_I2S_HW_VERSION_2": true, - "SOC_I2S_NUM": true, + "SOC_I2S_PDM_MAX_RX_LINES": 1, "SOC_I2S_PDM_MAX_TX_LINES": 2, "SOC_I2S_SUPPORTED": true, "SOC_I2S_SUPPORTS_PCM": true, + "SOC_I2S_SUPPORTS_PCM2PDM": true, "SOC_I2S_SUPPORTS_PDM": true, + "SOC_I2S_SUPPORTS_PDM_RX": true, "SOC_I2S_SUPPORTS_PDM_TX": true, "SOC_I2S_SUPPORTS_TDM": true, - "SOC_I2S_SUPPORTS_XTAL": true, "SOC_LEDC_CHANNEL_NUM": 6, "SOC_LEDC_SUPPORTED": true, "SOC_LEDC_SUPPORT_APB_CLOCK": true, "SOC_LEDC_SUPPORT_FADE_STOP": true, "SOC_LEDC_SUPPORT_XTAL_CLOCK": true, - "SOC_LEDC_TIMER_BIT_WIDE_NUM": 14, + "SOC_LEDC_TIMER_BIT_WIDTH": 14, + "SOC_LEDC_TIMER_NUM": 4, + "SOC_LIGHT_SLEEP_SUPPORTED": true, + "SOC_LP_PERIPH_SHARE_INTERRUPT": true, + "SOC_LP_TIMER_BIT_WIDTH_HI": 16, + "SOC_LP_TIMER_BIT_WIDTH_LO": 32, "SOC_MAC_BB_PD_MEM_SIZE": 192, "SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE": 16, "SOC_MEMPROT_MEM_ALIGN_SIZE": 512, @@ -740,13 +1087,27 @@ "SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED": true, "SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED": true, "SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED": true, + "SOC_MMU_LINEAR_ADDRESS_REGION_NUM": 1, + "SOC_MMU_PERIPH_NUM": 1, + "SOC_MPI_MEM_BLOCKS_NUM": 4, + "SOC_MPI_OPERATIONS_NUM": 3, "SOC_MPI_SUPPORTED": true, "SOC_MPU_MIN_REGION_SIZE": 536870912, "SOC_MPU_REGIONS_MAX_NUM": 8, + "SOC_MWDT_SUPPORT_XTAL": true, + "SOC_PHY_COMBO_MODULE": true, "SOC_PHY_DIG_REGS_MEM_SIZE": 21, + "SOC_PHY_SUPPORTED": true, + "SOC_PM_CPU_RETENTION_BY_RTCCNTL": true, + "SOC_PM_MODEM_PD_BY_SW": true, + "SOC_PM_MODEM_RETENTION_BY_BACKUPDMA": true, + "SOC_PM_SUPPORTED": true, "SOC_PM_SUPPORT_BT_PD": true, "SOC_PM_SUPPORT_BT_WAKEUP": true, "SOC_PM_SUPPORT_CPU_PD": true, + "SOC_PM_SUPPORT_MAC_BB_PD": true, + "SOC_PM_SUPPORT_RC_FAST_PD": true, + "SOC_PM_SUPPORT_VDDSDIO_PD": true, "SOC_PM_SUPPORT_WIFI_PD": true, "SOC_PM_SUPPORT_WIFI_WAKEUP": true, "SOC_RMT_CHANNELS_PER_GROUP": 4, @@ -755,15 +1116,16 @@ "SOC_RMT_RX_CANDIDATES_PER_GROUP": 2, "SOC_RMT_SUPPORTED": true, "SOC_RMT_SUPPORT_APB": true, + "SOC_RMT_SUPPORT_ASYNC_STOP": true, "SOC_RMT_SUPPORT_RC_FAST": true, "SOC_RMT_SUPPORT_RX_DEMODULATION": true, "SOC_RMT_SUPPORT_RX_PINGPONG": true, - "SOC_RMT_SUPPORT_TX_ASYNC_STOP": true, "SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY": true, "SOC_RMT_SUPPORT_TX_LOOP_COUNT": true, "SOC_RMT_SUPPORT_TX_SYNCHRO": true, "SOC_RMT_SUPPORT_XTAL": true, "SOC_RMT_TX_CANDIDATES_PER_GROUP": 2, + "SOC_RNG_SUPPORTED": true, "SOC_RSA_MAX_BIT_LEN": 3072, "SOC_RTCIO_PIN_COUNT": 0, "SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH": 128, @@ -771,8 +1133,6 @@ "SOC_RTC_FAST_MEM_SUPPORTED": true, "SOC_RTC_MEM_SUPPORTED": true, "SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256": true, - "SOC_SDM_CHANNELS_PER_GROUP": 4, - "SOC_SDM_GROUPS": 1, "SOC_SDM_SUPPORTED": true, "SOC_SECURE_BOOT_SUPPORTED": true, "SOC_SECURE_BOOT_V2_RSA": true, @@ -785,6 +1145,9 @@ "SOC_SHA_SUPPORT_SHA1": true, "SOC_SHA_SUPPORT_SHA224": true, "SOC_SHA_SUPPORT_SHA256": true, + "SOC_SLEEP_SYSTIMER_STALL_WORKAROUND": true, + "SOC_SLEEP_TGWDT_STOP_WORKAROUND": true, + "SOC_SPI_FLASH_SUPPORTED": true, "SOC_SPI_MAXIMUM_BUFFER_SIZE": 64, "SOC_SPI_MAX_CS_NUM": 6, "SOC_SPI_MAX_PRE_DIVIDER": 16, @@ -795,10 +1158,17 @@ "SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE": true, "SOC_SPI_MEM_SUPPORT_IDLE_INTR": true, "SOC_SPI_MEM_SUPPORT_SW_SUSPEND": true, + "SOC_SPI_MEM_SUPPORT_WRAP": true, "SOC_SPI_PERIPH_NUM": 2, "SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT": true, + "SOC_SPI_SCT_BUFFER_NUM_MAX": true, + "SOC_SPI_SCT_CONF_BITLEN_MAX": 262138, + "SOC_SPI_SCT_REG_NUM": 14, + "SOC_SPI_SCT_SUPPORTED": true, "SOC_SPI_SLAVE_SUPPORT_SEG_TRANS": true, "SOC_SPI_SUPPORT_CD_SIG": true, + "SOC_SPI_SUPPORT_CLK_APB": true, + "SOC_SPI_SUPPORT_CLK_XTAL": true, "SOC_SPI_SUPPORT_CONTINUOUS_TRANS": true, "SOC_SPI_SUPPORT_DDRCLK": true, "SOC_SPI_SUPPORT_SLAVE_HD_VER2": true, @@ -816,35 +1186,37 @@ "SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC": true, "SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL": true, "SOC_TEMP_SENSOR_SUPPORTED": true, - "SOC_TIMER_GROUPS": 2, - "SOC_TIMER_GROUP_COUNTER_BIT_WIDTH": 54, - "SOC_TIMER_GROUP_SUPPORT_APB": true, - "SOC_TIMER_GROUP_SUPPORT_XTAL": true, - "SOC_TIMER_GROUP_TIMERS_PER_GROUP": 1, - "SOC_TIMER_GROUP_TOTAL_TIMERS": 2, "SOC_TWAI_BRP_MAX": 16384, "SOC_TWAI_BRP_MIN": 2, "SOC_TWAI_CLK_SUPPORT_APB": true, "SOC_TWAI_CONTROLLER_NUM": 1, + "SOC_TWAI_MASK_FILTER_NUM": 1, "SOC_TWAI_SUPPORTED": true, "SOC_TWAI_SUPPORTS_RX_STATUS": true, "SOC_UART_BITRATE_MAX": 5000000, "SOC_UART_FIFO_LEN": 128, + "SOC_UART_HP_NUM": 2, "SOC_UART_NUM": 2, - "SOC_UART_REQUIRE_CORE_RESET": true, + "SOC_UART_SUPPORTED": true, "SOC_UART_SUPPORT_APB_CLK": true, "SOC_UART_SUPPORT_FSM_TX_WAIT_SEND": true, "SOC_UART_SUPPORT_RTC_CLK": true, "SOC_UART_SUPPORT_WAKEUP_INT": true, "SOC_UART_SUPPORT_XTAL_CLK": true, + "SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE": true, + "SOC_UHCI_NUM": 1, + "SOC_UHCI_SUPPORTED": true, "SOC_USB_SERIAL_JTAG_SUPPORTED": true, + "SOC_WDT_SUPPORTED": true, "SOC_WIFI_CSI_SUPPORT": true, "SOC_WIFI_FTM_SUPPORT": true, "SOC_WIFI_GCMP_SUPPORT": true, "SOC_WIFI_HW_TSF": true, "SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH": 12, "SOC_WIFI_MESH_SUPPORT": true, + "SOC_WIFI_PHY_NEEDS_USB_WORKAROUND": true, "SOC_WIFI_SUPPORTED": true, + "SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW": true, "SOC_WIFI_WAPI_SUPPORT": true, "SOC_XTAL_SUPPORT_40M": true, "SOC_XT_WDT_SUPPORTED": true, @@ -880,10 +1252,12 @@ "SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE": true, "SPI_FLASH_ERASE_YIELD_DURATION_MS": 20, "SPI_FLASH_ERASE_YIELD_TICKS": 1, + "SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND": false, + "SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND": false, "SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST": false, + "SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM": true, "SPI_FLASH_ROM_DRIVER_PATCH": true, "SPI_FLASH_ROM_IMPL": false, - "SPI_FLASH_SHARE_SPI1_BUS": false, "SPI_FLASH_SIZE_OVERRIDE": false, "SPI_FLASH_SUPPORT_BOYA_CHIP": true, "SPI_FLASH_SUPPORT_GD_CHIP": true, @@ -891,18 +1265,33 @@ "SPI_FLASH_SUPPORT_MXIC_CHIP": true, "SPI_FLASH_SUPPORT_TH_CHIP": true, "SPI_FLASH_SUPPORT_WINBOND_CHIP": true, + "SPI_FLASH_SUSPEND_TSUS_VAL_US": 50, + "SPI_FLASH_VENDOR_BOYA_SUPPORT_ENABLED": true, + "SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED": true, + "SPI_FLASH_VENDOR_ISSI_SUPPORT_ENABLED": true, + "SPI_FLASH_VENDOR_MXIC_SUPPORT_ENABLED": true, + "SPI_FLASH_VENDOR_TH_SUPPORT_ENABLED": true, + "SPI_FLASH_VENDOR_WINBOND_SUPPORT_ENABLED": true, + "SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED": true, "SPI_FLASH_VERIFY_WRITE": false, "SPI_FLASH_WRITE_CHUNK_SIZE": 8192, "SPI_FLASH_YIELD_DURING_ERASE": true, - "SPI_MASTER_IN_IRAM": false, "SPI_MASTER_ISR_IN_IRAM": true, "SPI_SLAVE_IN_IRAM": false, "SPI_SLAVE_ISR_IN_IRAM": true, "TEMP_SENSOR_ENABLE_DEBUG_LOG": false, - "TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN": false, + "TWAI_ENABLE_DEBUG_LOG": false, + "TWAI_ERRATA_FIX_LISTEN_ONLY_DOM": true, + "TWAI_IO_FUNC_IN_IRAM": false, + "TWAI_ISR_CACHE_SAFE": false, "TWAI_ISR_IN_IRAM": false, + "TWAI_ISR_IN_IRAM_LEGACY": false, + "TWAI_SKIP_LEGACY_CONFLICT_CHECK": false, "UART_ISR_IN_IRAM": false, - "UNITY_CRITICAL_LEAK_LEVEL_GENERAL": 1024, + "UHCI_ENABLE_DEBUG_LOG": false, + "UHCI_ISR_CACHE_SAFE": false, + "UHCI_ISR_HANDLER_IN_IRAM": false, + "UNITY_CRITICAL_LEAK_LEVEL_GENERAL": 1200, "UNITY_CRITICAL_LEAK_LEVEL_LWIP": 4095, "UNITY_ENABLE_64BIT": false, "UNITY_ENABLE_BACKTRACE_ON_FAIL": false, @@ -916,30 +1305,19 @@ "UNITY_FREERTOS_STACK_SIZE": 8192, "UNITY_IGNORE_PERFORMANCE_TESTS": false, "UNITY_WARN_LEAK_LEVEL_GENERAL": 255, + "USJ_ENABLE_USB_SERIAL_JTAG": true, + "VFS_INITIALIZE_DEV_NULL": true, + "VFS_MAX_COUNT": 8, + "VFS_SELECT_IN_RAM": false, "VFS_SEMIHOSTFS_MAX_MOUNT_POINTS": 1, "VFS_SUPPORT_DIR": true, "VFS_SUPPORT_IO": true, "VFS_SUPPORT_SELECT": true, "VFS_SUPPORT_TERMIOS": true, "VFS_SUPPRESS_SELECT_DEBUG_OUTPUT": true, - "WIFI_PROV_AUTOSTOP_TIMEOUT": 30, - "WIFI_PROV_BLE_FORCE_ENCRYPTION": true, - "WIFI_PROV_SCAN_MAX_ENTRIES": 16, "WL_SECTOR_SIZE": 4096, "WL_SECTOR_SIZE_4096": true, "WL_SECTOR_SIZE_512": false, - "WPA_11KV_SUPPORT": false, - "WPA_11R_SUPPORT": false, - "WPA_DEBUG_PRINT": false, - "WPA_DPP_SUPPORT": false, - "WPA_MBEDTLS_CRYPTO": true, - "WPA_MBEDTLS_TLS_CLIENT": true, - "WPA_MBO_SUPPORT": false, - "WPA_SUITE_B_192": false, - "WPA_TESTING_OPTIONS": false, - "WPA_WAPI_PSK": false, - "WPA_WPS_SOFTAP_REGISTRAR": false, - "WPA_WPS_STRICT": false, "WS_BUFFER_SIZE": 1024, "WS_DYNAMIC_BUFFER": false, "WS_TRANSPORT": true, diff --git a/tests/fixtures/unit_test_app_esp32c3/build/flasher_args.json b/tests/fixtures/unit_test_app_esp32c3/build/flasher_args.json index cb59bdd6..18f88fd1 100644 --- a/tests/fixtures/unit_test_app_esp32c3/build/flasher_args.json +++ b/tests/fixtures/unit_test_app_esp32c3/build/flasher_args.json @@ -9,12 +9,12 @@ }, "flash_files" : { "0x0" : "bootloader/bootloader.bin", - "0x10000" : "case_tester_example.bin", - "0x8000" : "partition_table/partition-table.bin" + "0x8000" : "partition_table/partition-table.bin", + "0x10000" : "case_tester_example.bin" }, "bootloader" : { "offset" : "0x0", "file" : "bootloader/bootloader.bin", "encrypted" : "false" }, - "app" : { "offset" : "0x10000", "file" : "case_tester_example.bin", "encrypted" : "false" }, "partition-table" : { "offset" : "0x8000", "file" : "partition_table/partition-table.bin", "encrypted" : "false" }, + "app" : { "offset" : "0x10000", "file" : "case_tester_example.bin", "encrypted" : "false" }, "extra_esptool_args" : { "after" : "hard_reset", "before" : "default_reset", diff --git a/tests/fixtures/unit_test_app_esp32c3/main/case_tester_example.c b/tests/fixtures/unit_test_app_esp32c3/main/case_tester_example.c index 56ddeb23..c2d64509 100644 --- a/tests/fixtures/unit_test_app_esp32c3/main/case_tester_example.c +++ b/tests/fixtures/unit_test_app_esp32c3/main/case_tester_example.c @@ -8,21 +8,41 @@ #include "esp_log.h" -TEST_CASE("normal_case1", "[normal_case]") +/* +The ideal test result of `run_all_single_board_cases(reset=False)` should be: + normal_case_pass: pass + normal_case_crash: fail (crash) + normal_case_stuck: fail (infinite loop) + normal_case_skip_when_not_reset: skip (since the previous case will hang forever) + multiple_stages_test: skip (since the previous case will hang forever) + +The ideal test result of `run_all_single_board_cases(reset=True)` should be: + normal_case_pass: pass + normal_case_crash: fail (crash) + normal_case_stuck: fail (infinite loop) + normal_case_skip_when_not_reset: pass + multiple_stages_test: pass + +multiple_devices_test: skip (when reset=False, since the previous case will hang forever) +multiple_devices_test: pass (when reset=True) +*/ + +TEST_CASE("normal_case_pass", "[normal_case]") { esp_chip_info_t chip_info; esp_chip_info(&chip_info); - ESP_LOGI("normal case1", "This is %s chip with %d CPU core(s), WiFi%s%s, ", + ESP_LOGI("normal case pass", "This is %s chip with %d CPU core(s), WiFi%s%s, ", CONFIG_IDF_TARGET, chip_info.cores, (chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "", (chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : ""); + TEST_ASSERT(true); } -TEST_CASE("normal_case2", "[normal_case][timeout=10]") +TEST_CASE("normal_case_crash", "[normal_case][timeout=10]") { - ESP_LOGI("normal case2", "delay 3s"); + ESP_LOGI("normal case crash later", "delay 3s"); vTaskDelay(pdMS_TO_TICKS(3000)); // cause a crash @@ -32,6 +52,22 @@ TEST_CASE("normal_case2", "[normal_case][timeout=10]") TEST_ASSERT(true); } +TEST_CASE("normal_case_stuck", "[normal_case][timeout=10]") +{ + ESP_LOGI("normal case stuck", "infinite loop"); + while (1) { + vTaskDelay(pdMS_TO_TICKS(1000)); + } + + TEST_ASSERT(true); +} + +TEST_CASE("normal_case_skip_when_not_reset", "[normal_case][timeout=10]") +{ + ESP_LOGI("normal case skip when not reset", "skip this case if not reset, since the previous case will hang forever"); + TEST_ASSERT(true); +} + void test_stage1(void) { ESP_LOGI("multi_stage", "stage1: software restart"); @@ -44,7 +80,7 @@ void test_stage2(void) { ESP_LOGI("multi_stage", "stage2: assert fail"); vTaskDelay(pdMS_TO_TICKS(100)); - assert(false); + assert(false); // this one will cause a panic } void test_stage3(void)