[logger] Use the static ring buffer structure as its handle on ESP32 (#20129)

This commit is contained in:
J. Nick Koston
2026-10-05 19:24:13 -05:00
committed by GitHub
parent 4097f45677
commit 40af90ad25
4 changed files with 49 additions and 16 deletions
@@ -6,7 +6,11 @@ import re
import pytest
from esphome.components.logger import validate_task_log_buffer_alignment
from esphome.config_validation import Invalid
from esphome.const import PlatformFramework
from esphome.core import CORE
from tests.component_tests.types import SetCoreConfigCallable
def test_logger_pre_setup_before_other_components(generate_main):
@@ -111,3 +115,26 @@ def test_flash_log_strings_default_does_not_warn(
generate_main("tests/component_tests/logger/test_logger.yaml")
assert "esp8266_store_log_strings_in_flash" not in caplog.text
@pytest.mark.parametrize("value", [0, 640, 768, 32768])
def test_task_log_buffer_size_aligned_on_esp32(
set_core_config: SetCoreConfigCallable, value: int
) -> None:
set_core_config(PlatformFramework.ESP32_IDF)
assert validate_task_log_buffer_alignment(value) == value
def test_task_log_buffer_size_unaligned_rejected_on_esp32(
set_core_config: SetCoreConfigCallable,
) -> None:
set_core_config(PlatformFramework.ESP32_IDF)
with pytest.raises(Invalid, match="multiple of 4"):
validate_task_log_buffer_alignment(641)
def test_task_log_buffer_size_unaligned_allowed_on_libretiny(
set_core_config: SetCoreConfigCallable,
) -> None:
set_core_config(PlatformFramework.BK72XX_ARDUINO)
assert validate_task_log_buffer_alignment(641) == 641