mirror of
https://github.com/esphome/esphome.git
synced 2026-10-05 18:41:32 +00:00
Close the residual idedata and size-summary silent-failure findings
A list-of-non-dicts compile DB now raises by name inside the best-effort tuple. The launcher rejection moved into parse_entry itself so no caller can record ccache as the compiler, and the shape key includes the entry's directory since relative includes resolve against it. format_bar raises on a non-positive total so every consumer must handle the meaningless bar; the espidf summary validates the RAM region by name (a malformed region can no longer suppress a computable Flash line) and the blanket backstop logs the traceback at debug. A new test pins that the CI trigger paths exist on disk, so a rename fails loudly.
This commit is contained in:
@@ -1138,6 +1138,16 @@ def test_esp_idf_infra_changed(changed_files: list[str], expected: bool) -> None
|
||||
assert determine_jobs._esp_idf_infra_changed(changed_files) is expected
|
||||
|
||||
|
||||
def test_esp_idf_infra_trigger_paths_exist() -> None:
|
||||
"""A renamed or moved trigger module must fail here, not silently stop
|
||||
forcing the esp32 IDF compile."""
|
||||
repo_root = Path(__file__).resolve().parents[2]
|
||||
for file in determine_jobs.ESP_IDF_INFRA_TRIGGER_FILES:
|
||||
assert (repo_root / file).is_file(), f"trigger file {file} moved or renamed"
|
||||
for prefix in determine_jobs.ESP_IDF_INFRA_TRIGGER_PATH_PREFIXES:
|
||||
assert (repo_root / prefix).is_dir(), f"trigger dir {prefix} moved or renamed"
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("changed_files", "expected_result"),
|
||||
[
|
||||
|
||||
Reference in New Issue
Block a user