mirror of
https://github.com/esphome/esphome.git
synced 2026-08-24 07:06:20 +00:00
cancel_futures only drops queued jobs, and the non-daemon workers are joined at interpreter exit, so a Ctrl-C during the ESP-IDF toolchain fetch waited out every in-flight archive. The tracker each job reports through now checks a cancellation flag set when the wait raises, so downloads abort at their next progress tick and the resumable .part files keep the bytes already fetched. The wave-deferral test stubs _content_lengths instead of issuing real HEAD requests that passed only by failing, the dead hasattr branch in the HEAD-probe test is gone, and the .C suffix comment names the SCons divergence instead of claiming parity.
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 |