From f0e0f8bfdc9fdcc9fff0ada6de10e4ad6b7eb81a Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 13:08:27 -1000 Subject: [PATCH] make speaker and syslog groupable --- script/analyze_component_buses.py | 15 +++++++++++++-- tests/components/speaker/audio_dac.esp32-ard.yaml | 5 +++-- .../speaker/audio_dac.esp32-c3-ard.yaml | 5 +++-- .../speaker/audio_dac.esp32-c3-idf.yaml | 5 +++-- tests/components/speaker/audio_dac.esp32-idf.yaml | 5 +++-- tests/components/speaker/common-audio_dac.yaml | 6 +----- tests/components/syslog/test.host.yaml | 13 ++++++++++--- 7 files changed, 36 insertions(+), 18 deletions(-) diff --git a/script/analyze_component_buses.py b/script/analyze_component_buses.py index d01bd33dbd..45e7955309 100644 --- a/script/analyze_component_buses.py +++ b/script/analyze_component_buses.py @@ -48,6 +48,16 @@ PACKAGE_DEPENDENCIES = { # Add more package dependencies here as needed } +# Base bus components - these ARE the bus implementations and should not +# be flagged as needing migration since they are the platform/base components +BASE_BUS_COMPONENTS = { + "i2c", + "spi", + "uart", + "modbus", + "canbus", +} + # Components that must be tested in isolation (not grouped or batched with others) # These have known build issues that prevent grouping # NOTE: This should be kept in sync with both test_build_components and split_components_for_ci.py @@ -323,7 +333,8 @@ def analyze_all_components( # Check if component defines buses directly in test files # These create unique bus IDs and cause conflicts when merged - if has_direct_bus_config: + # Exclude base bus components (i2c, spi, uart, etc.) since they ARE the platform + if has_direct_bus_config and component_name not in BASE_BUS_COMPONENTS: non_groupable.add(component_name) direct_bus_components.add(component_name) @@ -439,7 +450,7 @@ def main() -> None: non_groupable.add(comp) if has_extend_remove: non_groupable.add(comp) - if has_direct_bus_config: + if has_direct_bus_config and comp not in BASE_BUS_COMPONENTS: non_groupable.add(comp) direct_bus_components.add(comp) else: diff --git a/tests/components/speaker/audio_dac.esp32-ard.yaml b/tests/components/speaker/audio_dac.esp32-ard.yaml index 75d9ddf92b..3f5d1bba7c 100644 --- a/tests/components/speaker/audio_dac.esp32-ard.yaml +++ b/tests/components/speaker/audio_dac.esp32-ard.yaml @@ -1,9 +1,10 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 i2s_bclk_pin: GPIO27 i2s_lrclk_pin: GPIO26 i2s_mclk_pin: GPIO25 i2s_dout_pin: GPIO23 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-ard.yaml + <<: !include common-audio_dac.yaml diff --git a/tests/components/speaker/audio_dac.esp32-c3-ard.yaml b/tests/components/speaker/audio_dac.esp32-c3-ard.yaml index 1004d2143e..61e5a14f44 100644 --- a/tests/components/speaker/audio_dac.esp32-c3-ard.yaml +++ b/tests/components/speaker/audio_dac.esp32-c3-ard.yaml @@ -1,9 +1,10 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 i2s_bclk_pin: GPIO7 i2s_lrclk_pin: GPIO6 i2s_mclk_pin: GPIO9 i2s_dout_pin: GPIO8 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-ard.yaml + <<: !include common-audio_dac.yaml diff --git a/tests/components/speaker/audio_dac.esp32-c3-idf.yaml b/tests/components/speaker/audio_dac.esp32-c3-idf.yaml index 1004d2143e..30900f1920 100644 --- a/tests/components/speaker/audio_dac.esp32-c3-idf.yaml +++ b/tests/components/speaker/audio_dac.esp32-c3-idf.yaml @@ -1,9 +1,10 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 i2s_bclk_pin: GPIO7 i2s_lrclk_pin: GPIO6 i2s_mclk_pin: GPIO9 i2s_dout_pin: GPIO8 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common-audio_dac.yaml diff --git a/tests/components/speaker/audio_dac.esp32-idf.yaml b/tests/components/speaker/audio_dac.esp32-idf.yaml index 75d9ddf92b..71c8b06e24 100644 --- a/tests/components/speaker/audio_dac.esp32-idf.yaml +++ b/tests/components/speaker/audio_dac.esp32-idf.yaml @@ -1,9 +1,10 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 i2s_bclk_pin: GPIO27 i2s_lrclk_pin: GPIO26 i2s_mclk_pin: GPIO25 i2s_dout_pin: GPIO23 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common-audio_dac.yaml diff --git a/tests/components/speaker/common-audio_dac.yaml b/tests/components/speaker/common-audio_dac.yaml index 41b994d4d4..67bd6c28ef 100644 --- a/tests/components/speaker/common-audio_dac.yaml +++ b/tests/components/speaker/common-audio_dac.yaml @@ -14,11 +14,6 @@ esphome: - speaker.finish: - speaker.stop: -i2c: - - id: i2c_audio_dac - scl: ${scl_pin} - sda: ${sda_pin} - i2s_audio: i2s_lrclk_pin: ${i2s_bclk_pin} i2s_bclk_pin: ${i2s_lrclk_pin} @@ -26,6 +21,7 @@ i2s_audio: audio_dac: - platform: aic3204 + i2c_id: i2c_bus id: internal_dac speaker: diff --git a/tests/components/syslog/test.host.yaml b/tests/components/syslog/test.host.yaml index e735c37e4d..31122437d5 100644 --- a/tests/components/syslog/test.host.yaml +++ b/tests/components/syslog/test.host.yaml @@ -1,4 +1,11 @@ -packages: - common: !include common.yaml +udp: + addresses: ["239.0.60.53"] -wifi: !remove +time: + platform: host + +syslog: + port: 514 + strip: true + level: info + facility: 16