mirror of
https://github.com/esphome/esphome.git
synced 2026-07-10 17:05:36 +00:00
09fe59c5cc
mDNS on ESP8266/RP2040 always runs over a network interface (WiFi on ESP8266; WiFi or W5500/etc. ethernet on RP2040), and every such interface already publishes an IP state listener in tree. USE_MDNS_EVENT_DRIVEN_POLLING is therefore always defined in production, so the fallback set_interval() paths in both platform files and the was_connected_ bookkeeping are dead code. Also drop the ethernet-specific test — the existing wifi and ethernet+mdns combos are already covered by the mdns test fixtures paired with their network component tests. Trim redundant comments throughout: the header now documents the ~9s probe/announce window and why update() can stop afterward in a few lines instead of a full essay; platform files keep only the non-obvious bits (why RP2040 needs to drive begin()/notifyAPChange() itself, why re-arming on any listener notification is correct).
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 |