mirror of
https://github.com/esphome/esphome.git
synced 2026-08-24 07:06:20 +00:00
Address review: unknown platforms raise, the filter pin asserts equality
An unknown or misspelled platform name yielded an empty set - the file would be filtered out of every build (link failure at the end of a long compile) and the subset guard passed vacuously.
This commit is contained in:
@@ -105,6 +105,9 @@ def frameworks_for_platforms(platforms: Collection[str]) -> set[PlatformFramewor
|
||||
registry: deriving the framework set here means a platform added to the
|
||||
registry cannot validate and then fail at link on a filtered-out file.
|
||||
"""
|
||||
known = {pf.value[0].value for pf in PlatformFramework}
|
||||
if unknown := set(platforms) - known:
|
||||
raise ValueError(f"unknown platform(s): {sorted(unknown)}")
|
||||
return {pf for pf in PlatformFramework if pf.value[0].value in platforms}
|
||||
|
||||
|
||||
|
||||
@@ -189,7 +189,7 @@ def test_hub_source_filter_covers_every_hub_platform() -> None:
|
||||
hub_frameworks = bluetooth_connection.SOURCE_FILE_FRAMEWORKS[
|
||||
"bluetooth_connection_hub.cpp"
|
||||
]
|
||||
assert expected <= hub_frameworks
|
||||
assert expected == hub_frameworks
|
||||
|
||||
|
||||
def test_bluetooth_connection_auto_load_covers_its_includes() -> None:
|
||||
|
||||
Reference in New Issue
Block a user