mirror of
https://github.com/esphome/esphome.git
synced 2026-10-09 21:13:12 +00:00
The registry response already carries each package file's size, so the combined bar is sized from URLSource instead of a HEAD sweep; the probe, its all-or-nothing fallback, and its duplicate Content-Length parsing are gone, and archives without a reported size simply stay on the sequential path. run_batch_downloads now takes (name, size, fetch) jobs and builds the (now private) progress bar itself, collecting failures from future results instead of a shared list; both call sites use functools.partial instead of lambda factories. The prefetch touches only URLSource, so the progress parameter comes off Source/Git/Local/ConvertedLibrary, and the wave prefetch is wrapped best-effort like its ESP-IDF twin, which also dedupes by dest only after the verifiability check. ProgressBar.done() itself now skips the newline when no frame was drawn or the 100% frame already ended the line, collapsing the batch wrapper's guard and fixing the stray blank line after OTA uploads.
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 |