mirror of
https://github.com/esphome/esphome.git
synced 2025-10-12 23:03:46 +01:00
preen
This commit is contained in:
@@ -32,6 +32,12 @@ from script.analyze_component_buses import (
|
|||||||
)
|
)
|
||||||
from script.merge_component_configs import merge_component_configs
|
from script.merge_component_configs import merge_component_configs
|
||||||
|
|
||||||
|
# Components that must be tested in isolation (not grouped)
|
||||||
|
# These have known build issues that prevent grouping
|
||||||
|
ISOLATED_COMPONENTS = {
|
||||||
|
"camera_encoder": "Multiple definition errors: esp32-camera IDF component conflicts with ESPHome camera component (buffer_impl.cpp symbols defined in both src/camera/ and src/esphome/components/camera/)",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def find_component_tests(
|
def find_component_tests(
|
||||||
components_dir: Path, component_pattern: str = "*"
|
components_dir: Path, component_pattern: str = "*"
|
||||||
@@ -336,6 +342,10 @@ def run_grouped_component_tests(
|
|||||||
if component in non_groupable:
|
if component in non_groupable:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
# Skip components that must be tested in isolation
|
||||||
|
if component in ISOLATED_COMPONENTS:
|
||||||
|
continue
|
||||||
|
|
||||||
for platform, buses in platforms.items():
|
for platform, buses in platforms.items():
|
||||||
# Skip if platform doesn't match filter
|
# Skip if platform doesn't match filter
|
||||||
if platform_filter and not platform.startswith(platform_filter):
|
if platform_filter and not platform.startswith(platform_filter):
|
||||||
@@ -353,6 +363,16 @@ def run_grouped_component_tests(
|
|||||||
print("\nGrouping Plan:")
|
print("\nGrouping Plan:")
|
||||||
print("-" * 80)
|
print("-" * 80)
|
||||||
|
|
||||||
|
# Show isolated components (must test individually due to known issues)
|
||||||
|
isolated_in_tests = [c for c in ISOLATED_COMPONENTS if c in all_tests]
|
||||||
|
if isolated_in_tests:
|
||||||
|
print(
|
||||||
|
f"\n⚠ {len(isolated_in_tests)} components must be tested in isolation (known build issues):"
|
||||||
|
)
|
||||||
|
for comp in sorted(isolated_in_tests):
|
||||||
|
reason = ISOLATED_COMPONENTS[comp]
|
||||||
|
print(f" - {comp}: {reason}")
|
||||||
|
|
||||||
# Show excluded components
|
# Show excluded components
|
||||||
if non_groupable:
|
if non_groupable:
|
||||||
excluded_in_tests = [c for c in non_groupable if c in all_tests]
|
excluded_in_tests = [c for c in non_groupable if c in all_tests]
|
||||||
|
Reference in New Issue
Block a user