esphome/tests
Otto Winter 229bf719a2 Implement external custom components installing from YAML (#1630)
* Move components import loading to importlib MetaPathFinder and importlib.resources

* Add external_components component

* Fix

* Fix

* fix cv.url return

* fix validate shorthand git

* implement git refresh

* Use finders from sys.path_hooks instead of looking for __init__.py

* use github:// schema

* error handling

* add test

* fix handling git output

* revert file check handling

* fix test

* allow full component path be specified for local

* fix test

* fix path handling

* lint

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2021-05-07 15:02:17 -03:00
..
component_tests Fixed component_tests config (#1608) 2021-03-12 19:58:43 -03:00
test_packages Packages feature (#1052) 2020-07-13 11:45:06 -03:00
unit_tests Added an option to disable mDNS (#1716) 2021-05-06 12:31:42 -03:00
.gitignore Rename esphomeyaml to esphome (#426) 2019-02-13 16:54:02 +01:00
custom.h Create Protobuf Plugin for automatically generating native API stubs (#633) 2019-06-18 19:31:22 +02:00
livingroom32.cpp Lint 2019-05-24 23:08:04 +02:00
livingroom8266.cpp Lint 2019-05-24 23:08:04 +02:00
README.md update test readme 2020-07-12 14:36:07 -03:00
test1.yaml Added an option to disable mDNS (#1716) 2021-05-06 12:31:42 -03:00
test2.yaml Added an option to disable mDNS (#1716) 2021-05-06 12:31:42 -03:00
test3.yaml Support for TOF10120 distance sensor (#1375) 2021-04-29 11:49:46 +12:00
test4.yaml Implement external custom components installing from YAML (#1630) 2021-05-07 15:02:17 -03:00

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
test1.yaml ESP32 wifi
test2.yaml ESP32 ethernet
test3.yaml ESP8266 wifi
test4.yaml ESP32 ethernet