esphome/tests
Otto Winter ac0d921413
ESP-IDF support and generic target platforms (#2303)
* Socket refactor and SSL

* esp-idf temp

* Fixes

* Echo component and noise

* Add noise API transport support

* Updates

* ESP-IDF

* Complete

* Fixes

* Fixes

* Versions update

* New i2c APIs

* Complete i2c refactor

* SPI migration

* Revert ESP Preferences migration, too complex for now

* OTA support

* Remove echo again

* Remove ssl again

* GPIOFlags updates

* Rename esphal and ICACHE_RAM_ATTR

* Make ESP32 arduino compilable again

* Fix GPIO flags

* Complete pin registry refactor and fixes

* Fixes to make test1 compile

* Remove sdkconfig file

* Ignore sdkconfig file

* Fixes in reviewing

* Make test2 compile

* Make test4 compile

* Make test5 compile

* Run clang-format

* Fix lint errors

* Use esp-idf APIs instead of btStart

* Another round of fixes

* Start implementing ESP8266

* Make test3 compile

* Guard esp8266 code

* Lint

* Reformat

* Fixes

* Fixes v2

* more fixes

* ESP-IDF tidy target

* Convert ARDUINO_ARCH_ESPxx

* Update WiFiSignalSensor

* Update time ifdefs

* OTA needs millis from hal

* RestartSwitch needs delay from hal

* ESP-IDF Uart

* Fix OTA blank password

* Allow setting sdkconfig

* Fix idf partitions and allow setting sdkconfig from yaml

* Re-add read/write compat APIs and fix esp8266 uart

* Fix esp8266 store log strings in flash

* Fix ESP32 arduino preferences not initialized

* Update ifdefs

* Change how sdkconfig change is detected

* Add checks to ci-custom and fix them

* Run clang-format

* Add esp-idf clang-tidy target and fix errors

* Fixes from clang-tidy idf round 2

* Fixes from compiling tests with esp-idf

* Run clang-format

* Switch test5.yaml to esp-idf

* Implement ESP8266 Preferences

* Lint

* Re-do PIO package version selection a bit

* Fix arduinoespressif32 package version

* Fix unit tests

* Lint

* Lint fixes

* Fix readv/writev not defined

* Fix graphing component

* Re-add all old options from core/config.py

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-09-20 11:47:51 +02:00
..
component_tests ESP-IDF support and generic target platforms (#2303) 2021-09-20 11:47:51 +02:00
test_packages Packages feature (#1052) 2020-07-13 11:45:06 -03:00
unit_tests ESP-IDF support and generic target platforms (#2303) 2021-09-20 11:47:51 +02:00
.gitignore Rename esphomeyaml to esphome (#426) 2019-02-13 16:54:02 +01:00
custom.h Add attribute support to Home Assistant sensors (#1770) 2021-05-17 11:16:22 +12:00
dummy_main.cpp ESP-IDF support and generic target platforms (#2303) 2021-09-20 11:47:51 +02:00
README.md Improv - BLE WiFi provisioning (#1807) 2021-06-08 11:56:21 +12:00
test1.yaml ESP-IDF support and generic target platforms (#2303) 2021-09-20 11:47:51 +02:00
test2.yaml ESP-IDF support and generic target platforms (#2303) 2021-09-20 11:47:51 +02:00
test3.yaml ESP-IDF support and generic target platforms (#2303) 2021-09-20 11:47:51 +02:00
test4.yaml ESP-IDF support and generic target platforms (#2303) 2021-09-20 11:47:51 +02:00
test5.yaml ESP-IDF support and generic target platforms (#2303) 2021-09-20 11:47:51 +02: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 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