mirror of
https://github.com/esphome/esphome.git
synced 2026-08-23 06:36:23 +00:00
Warn only for source-like suffix drops, batch ar argv, name non-iterable dependencies
The unmapped-suffix warning fired for every header-only library (the default +<*> filter matches headers), so ArduinoJson would have warned on every ESP8266 build. It now names exactly the source-like files (.CPP, .ino and case-variants of the map) the case-sensitive suffix map rejects, partial drops included, and stays quiet for headers and metadata. The ar shim batches the expanded object list by argv length (rc then q appends), keeping the command line under the Windows 32767-char limit the rspfile existed to avoid. A non-iterable dependencies value in a manifest now warns by library name instead of raising a bare TypeError.
This commit is contained in:
@@ -645,6 +645,9 @@ def test_normalize_dependencies_forms(caplog) -> None:
|
||||
{"name": "SPI"},
|
||||
]
|
||||
assert normalize_dependencies("Wire") == [{"name": "Wire"}]
|
||||
# A non-iterable value fails by manifest name, never a bare TypeError
|
||||
assert normalize_dependencies(5, "libx") == []
|
||||
assert "Ignoring unrecognized dependencies 5 of libx" in caplog.text
|
||||
# The dict-shorthand form validates names like the list form: an empty
|
||||
# key and a spec overriding name with a non-string both warn and drop
|
||||
assert normalize_dependencies(
|
||||
|
||||
Reference in New Issue
Block a user