Test v0.6.6
Let's run a number of manual tests and additional checks in order to make sure v0.6.6 will be the best release ever.
Test binaries can be found here: https://github.com/bettio/avm_tag_ci/releases/tag/v0.6.6202506192
Please, let's use real hardware.
Please comment to this issue reporting additional information such as esp-idf version/sdk version/compiler version or any boot log. Any additional information in addition to the short test output is appreciated. Please, also mention if any prebuilt image is used or a custom build.
Let's also propose additional components we would like to test,
General
- [ ] Can be compiled with C++ libraries
External Components
- [x] AtomGL component works
- [ ] ESP32 audio pipe component works
- [ ] ESP32 cam component
- [ ] DHT component (atomvm_dht)
- [ ] atomvm_lib/BME280
- [ ] atomvm_lib/BH1750
- [ ] atomvm_lib/SHT3X
- [ ] atomvm_m5
- [ ] atomvm_mqtt_client
- [ ] atomvm_neopixel
ESP32
Devices:
- [ ] boots on ESP32
- [ ] boots on ESP32-S2
- [x] boots on ESP32-S3
- [ ] boots on ESP32-C2
- [x] boots on ESP32-C3
- [ ] boots on ESP32-C6
- [ ] boots on ESP32-H2
Network features:
- [x] Connects to wifi AP
- [x] Works as wifi AP
- [ ] Date and time is updated using time server
- [ ] ssl works
- [ ] gen_tcp works
- [ ] gen_udp works
- [ ] socket works
Peripherals:
- [x] ADC read
- [ ] ledc
- [ ] GPIO read
- [x] GPIO write
- [x] GPIO interrupt
- [x] i2c read
- [ ] i2c write
- [x] SPI read
- [x] SPI write
- [x] UART read
- [ ] UART write
Misc:
- [ ] SD with SPI can be mounted
- [ ] SD with MMC can be mounted
- [ ] SPI flash partition can be mounted
- [ ] RTC memory works
- [ ] NVS works
- [ ] deep sleep works and RTC data is retained
- [ ] posix file support works
- [ ] Generated artifacts do not contain truncated or invalid data (e.g. libraries bigger than their partition, etc...)
Usage scenarios:
- [x] Developer mode with ALISP works
- [x] Developer web configuration page works
- [x] http client works
- [ ] https client works
- [x] A complex Elixir application making use of protocols such as Enum works
RP2040
- [ ] Boots on regular RP2040
- [ ] Boots on wifi enabled RP2040
- [ ] Output to console
- [ ] Connects to wifi AP
- [ ] sockets works
- [ ] ssl works
Peripherals:
- [ ] GPIO read
- [ ] GPIO write
emscripten
- [ ] Supervisor bubbles tests works
- [ ] elixir REPL PoC works
- [ ] erlang REPL PoC works
generic_unix (linux)
- [ ] gen_tcp works
- [ ] gen_udp works
- [ ] socket works
- [ ] ssl works
- [ ] posix file support works
Usage scenarios:
- [ ] Port drivers plugins are working
- [ ] http client works
- [ ] https client works
- [ ] A complex Elixir application making use of protocols such as Enum works
generic_unix (macOS)
- [ ] gen_tcp works
- [ ] gen_udp works
- [ ] socket works
- [ ] ssl works
- [ ] posix file support works
- [ ] A complex Elixir application making use of protocols such as Enum works
Usage scenarios:
- [ ] Port drivers plugins are working
- [ ] http client works
- [ ] https client works
- [ ] A complex Elixir application making use of protocols such as Enum works
STM32
- [ ] Boots
- [ ] Output to console
- [ ] GPIO write
"Uptime Loop Test"
The following are proposed tests to find if we have any memory leak or any other issue that prevents a system to run for a long time without any crash.
Let's keep track of uptime (with no crashes or reboots) when running some application performing tasks in loop. E.g. "uptime with a GPS parsing library that handles GPS messages every 0.5 second", "uptime when refreshing display with a counter every second", "uptime when running benchmarks in loop" etc...
I kept running on ESP32-S3 a GPS app with AtomGL enable, and it worked for 2h30m (after that I powered it off).