Schritt 8 des Plans: die fertige E-Paper-Anzeige wird endlich ausgeliefert und verdrahtet, dazu zwei liegengebliebene Dinge. - deploy.sh/setup_pi.sh uebertragen display/ (mit Panel-Treibern und HERKUNFT.md) und ninlight-display.service; setup_pi.sh installiert und aktiviert die Unit und zieht python3-pil nach - ohne Pillow beendet sich der Anzeigedienst still mit 0, das faellt sonst nirgends auf. - setup_pi.sh legt auch das Profil fuer den Migrations-Zugangspunkt an (qconnex-firmware, von der alten Klyqa-Firmware fest vorgegeben, gleiche Adresse wie das Rettungsprofil). Ohne das scheiterte "migrate on" auf einem frisch eingerichteten Pi an need_profile. Bestehende Profile bleiben unangetastet. - "ninlight-station display test|clear|off"; der Hilfetext erklaert die Revisionsbestimmung, denn EPD_REVISION laesst sich nur am Testbild bestimmen. - "off" nimmt die Anzeige mit: erst Dienst stoppen, dann Panel leeren (sonst schreibt der Daemon binnen 5 s sein altes Bild zurueck) und beides vor ap_switch, das bei haengendem NetworkManager abbricht. Ein stehengebliebenes "MIGRATION" wuerde einen Betriebszustand behaupten, den es nicht mehr gibt. - test_host.sh sammelt tools/mkimage als Ganzes ein: die 19 Tests in test_nl_mkimage.py liefen in keiner Suite mehr mit, darunter die Wache fuer die Python-3.8-Randbedingung des Build-Containers. Ein neuer Test haelt die Regel fest, dass keine Testdatei mehr herausfallen kann. - Nebenbei: die Temp-Datei mit dem WLAN-Passwort wird wieder zuverlaessig aufgeraeumt, und leere Konfigurationswerte legen kein kaputtes Profil an.
29 lines
1.4 KiB
Bash
Executable File
29 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Builds and runs all host unit tests.
|
|
set -euo pipefail
|
|
ROOT=$(cd "$(dirname "$0")/.." && pwd)
|
|
cmake -S "$ROOT/test" -B "$ROOT/build/host" -G Ninja >/dev/null
|
|
cmake --build "$ROOT/build/host"
|
|
ctest --test-dir "$ROOT/build/host" --output-on-failure "$@"
|
|
|
|
if python3 -c 'import pytest' 2>/dev/null; then
|
|
# tools/mkimage als GANZES Verzeichnis, nicht nur tools/mkimage/tests: die 19 Tests in
|
|
# tools/mkimage/test_nl_mkimage.py liegen direkt daneben und liefen sonst in keiner
|
|
# Suite mit - darunter test_stays_python38_compatible, die Wache fuer die bindende
|
|
# 3.8-Randbedingung des Docker-Build-Containers.
|
|
#
|
|
# Diese Wache braucht das Paket "vermin" und schlaegt ohne es HART fehl (kein Skip):
|
|
# eine Wache, die sich beim Fehlen ihres Werkzeugs stillschweigend abschaltet, haette
|
|
# den Build-Bruch von damals genauso durchgelassen wie gar kein Test. Fehlt vermin,
|
|
# nachinstallieren:
|
|
# pip install vermin (oder: pip3 install --user vermin)
|
|
python3 -m pytest "$ROOT/tools/mkimage" "$ROOT/tools/station/tests" -q
|
|
else
|
|
echo "Hinweis: pytest fehlt - Python-Tests uebersprungen" >&2
|
|
echo " Installation: pip install pytest vermin (vermin braucht" >&2
|
|
echo " tools/mkimage/test_nl_mkimage.py::test_stays_python38_compatible)" >&2
|
|
fi
|
|
|
|
"$ROOT/tools/station/tests/test_cli.sh"
|
|
"$ROOT/tools/station/tests/test_setup_pi.sh"
|