Our OTA updater relies on external libraries to work in order for the ZPUI update to succeed (otherwise, it's rolled back). However, if those libraries break, it might happen that ZPUI fails to load altogether - as we don't have tests for external libraries yet.
TODO for each library:
For each library we're using, figure out which functions are used specifically
Write tests for the library loading- basically, make sure that, if the library fails, ZPUI itself doesn't fail in a spectacular fashion
If functions used are crucial to ZPUI,
Libraries that should be easy to tackle:
[ ] pydbus
[ ] mock
[ ] gpio
Libraries that we have control of:
[ ] zerophone_hw
Libraries that need more reseach on whether testing is necessary:
[ ] luma.oled (they have a lot of their own tests and test before release)
[ ] PIL (same, and we test some of their functions in ui/tests/test_canvas.py) + it's actually installed through apt.
[ ] unidecode (same, we test it a little bit in ui/tests/test_funcs.py)
Our OTA updater relies on external libraries to work in order for the ZPUI update to succeed (otherwise, it's rolled back). However, if those libraries break, it might happen that ZPUI fails to load altogether - as we don't have tests for external libraries yet.
TODO for each library:
Libraries that should be easy to tackle:
pydbus
mock
gpio
Libraries that we have control of:
zerophone_hw
Libraries that need more reseach on whether testing is necessary:
luma.oled
(they have a lot of their own tests and test before release)PIL
(same, and we test some of their functions inui/tests/test_canvas.py
) + it's actually installed throughapt
.unidecode
(same, we test it a little bit inui/tests/test_funcs.py
)