T00 — testy hosta, spójność repozytorium i kompilacja
Cel
Wykryć błędy możliwe do znalezienia bez urządzenia oraz potwierdzić, że obrazy powstają z zatwierdzonych wersji narzędzi.
Wymagania
- Python z pakietami z
cloud/requirements.txtorazcryptography; - Pico SDK 2.3.0;
- FreeRTOS Kernel V11.1.0;
- ARM GNU Toolchain 15.2.Rel1;
- CMake i Ninja;
- Unity 2.5.2 dla natywnych testów C.
T00.1 — walidator repozytorium
python tools/validate_repository.pyZaliczenie: kod wyjścia 0, brak konfliktów, brak nieprzypisanych źródeł,
zgodna mapa Flash/OTP i ciągła numeracja migracji.
T00.2 — testy Python
python -m unittest discover -s cloud/tests -p "test_*.py" -vpython -m unittest discover -s tests -p "test_*.py" -vZaliczenie: wszystkie testy przechodzą. Brak zależności nie jest zaliczeniem; należy utworzyć izolowane środowisko i doinstalować wymagania.
T00.3 — natywne testy C
cmake -S tests -B tests/build-host -DASLANDI_FETCH_TEST_DEPS=ONcmake --build tests/build-hostctest --test-dir tests/build-host --output-on-failureZaliczenie: CRC, konwersje Float32, matematyka energii i parser JSON przechodzą bez błędów.
T00.4 — obrazy urządzenia
cmake --build build --target aslandi_development_payloadscmake --build build --target aslandi_hardware_diagcmake --build build --target aslandi_lem60_probecmake --build build --target aslandi_rtc_sd_probecmake --build build --target aslandi_lem60_rtc_sd_loggercmake --build build --target aslandi_lem60_rtc_sd_soakcmake --build build --target aslandi_installer_wifi_labZaliczenie:
- brak błędów i ostrzeżeń we własnych źródłach;
picotool info -awskazujeRP2350,pico2_wi właściwy adres startowy;- rozmiary bootloadera, slotów i NVS nie zachodzą na siebie;
- zapisane są SHA-256 wszystkich używanych później obrazów.
T00.5 — test podpisywania
Używamy wyłącznie laboratoryjnego klucza testowego. Sprawdzamy poprawny obraz, zmieniony bajt, złą wersję, zły slot, błędny wektor stosu i zły podpis.
Zaliczenie: poprawny obraz jest akceptowany, a każdy zmodyfikowany odrzucany. Prawdziwy klucz wydania nie trafia na komputer deweloperski ani do protokołu.