mirror of
https://github.com/esphome/esphome.git
synced 2026-08-23 22:56:19 +00:00
An owner-qualified version-less dependency was skipped by both the arduino backend (owner set) and the reconciliation (provides() knew the short name), so nothing logged the drop; provides() now only satisfies owner-less names, mirroring the walk's backend-provided guard. A dict dependency entry with no name at all now warns in the normalizer like any other malformed entry. Bundled dependency additions are deferred until conversion finishes and skipped when a converted library's manifest already provides the name, so a name that is both bundled and registry-resolved cannot build twice. External short names come from the request spec (custom Name=url form included) instead of the URL tail. The empty-bundled-library probe now walks the whole library tree against a shared header-suffix constant, and the dead versioned-dependency branch is folded into the surviving check.
Tests for ESPHome
This directory contains some tests for ESPHome.
At the moment, all the tests only work by simply executing
esphome over some YAML files that are made to test
whether the yaml gets converted to the proper C++ code.
Of course this is all just very high-level and things like unit tests would be much better. So if you have time and know how to set up a unit testing framework for python, please do give it a try.
When adding entries in test_.yaml files we usually need only
one file updated, unless conflicting code is generated for
different configurations, e.g. wifi and ethernet cannot
be tested on the same device.
Current test_.yaml file contents.
| Test name | Platform | Network | BLE |
|---|---|---|---|
| test1.yaml | ESP32 | wifi | None |
| test2.yaml | ESP32 | ethernet | esp32_ble_tracker |
| test3.yaml | ESP8266 | wifi | N/A |
| test4.yaml | ESP32 | ethernet | None |
| test5.yaml | ESP32 | wifi | ble_server |
| test6.yaml | RP2040 | wifi | N/A |
| test7.yaml | ESP32-C3 | wifi | N/A |
| test8.yaml | ESP32-S3 | wifi | None |
| test10.yaml | ESP32 | wifi | None |