fix(station): ehrliche Abbruchmeldung, apt-update darf scheitern
Fixrunde 2 zu Task 6b. - Die Vorbedingung "display.py liegt in der Ablage" steht jetzt VOR dem ersten sudo install. Vorher stand sie dahinter, und die Meldung "Nichts installiert" war schlicht unwahr: server.py, products.py, das CLI und die Stations-Unit lagen dann schon auf dem Pi. Ausgerechnet an dem Werkbank-Moment, fuer den die Pruefung gedacht ist, log das Skript den Bediener an. Die Ablage raeumt ein EXIT-Trap jetzt auf beiden Wegen aus dem Block ab, nicht nur im Erfolgsfall. - "apt-get update" ist keine Voraussetzung mehr fuer "apt-get install": update meldet schon dann einen Fehler, wenn eine einzige Quelle nicht erreichbar ist, und ein Pi, auf dem das Paket aus dem Cache gekommen waere, bekam so still kein Pillow. - Die Signalhandler beenden jetzt selbst (130/143/129). Ein Handler ohne exit laesst bash weiterlaufen - ein Strg-C konnte in "fertig, Exit 0" muenden. Die Begruendung im Kommentar war falsch und ist korrigiert: zum Aufraeumen haette der EXIT-Trap allein genuegt. - test_host.sh ruft die Shell-Suiten aus einer Liste auf, und der Coverage-Test prueft diese Liste gegen das Dateisystem statt im Skripttext nach Dateinamen zu suchen - ein nachgestellter Kommentar hebelte die alte Regel aus. Er deckt jetzt ganz tools/ ab, nicht nur station/tests. - Neue Szenarien: Wahrheitsgehalt der Abbruchmeldung, apt-update-Fall, und ein Strg-C, das aus den Trap-Zeilen des Skripts selbst geprueft wird.
This commit is contained in:
+18
-8
@@ -24,11 +24,21 @@ else
|
||||
echo " tools/mkimage/test_nl_mkimage.py::test_stays_python38_compatible)" >&2
|
||||
fi
|
||||
|
||||
# Alle Shell-Suiten unter tools/station/tests/ - test_deploy.sh fehlte hier und lief
|
||||
# damit nur bei Handaufruf (Task 6b F1, I3): dieselbe Klasse von Luecke wie die aus
|
||||
# keiner Suite gefallene test_nl_mkimage.py, nur eine Ebene hoeher. Mit ihr liefen 95
|
||||
# Zusagen nirgends mit, darunter die komplette Deploy-Haelfte der Anzeige-Auslieferung.
|
||||
# tools/mkimage/tests/test_suite_coverage.py haelt fest, dass hier keine Suite fehlt.
|
||||
"$ROOT/tools/station/tests/test_cli.sh"
|
||||
"$ROOT/tools/station/tests/test_deploy.sh"
|
||||
"$ROOT/tools/station/tests/test_setup_pi.sh"
|
||||
# Alle Shell-Suiten - test_deploy.sh fehlte hier und lief damit nur bei Handaufruf
|
||||
# (Task 6b F1, I3): dieselbe Klasse von Luecke wie die aus keiner Suite gefallene
|
||||
# test_nl_mkimage.py, nur eine Ebene hoeher. Mit ihr liefen 95 Zusagen nirgends mit,
|
||||
# darunter die komplette Deploy-Haelfte der Anzeige-Auslieferung.
|
||||
#
|
||||
# Als ausdrueckliche Liste, nicht als lose Folge von Aufrufen (Task 6b F2): so gibt es
|
||||
# EINE Stelle, die vollstaendig sein muss, und
|
||||
# tools/mkimage/tests/test_suite_coverage.py kann sie gegen das Dateisystem pruefen,
|
||||
# statt im Skripttext nach Dateinamen zu suchen - eine Textsuche haelt schon ein
|
||||
# nachgestellter Kommentar zum Narren.
|
||||
SHELL_SUITES=(
|
||||
"$ROOT/tools/station/tests/test_cli.sh"
|
||||
"$ROOT/tools/station/tests/test_deploy.sh"
|
||||
"$ROOT/tools/station/tests/test_setup_pi.sh"
|
||||
)
|
||||
for suite in "${SHELL_SUITES[@]}"; do
|
||||
"$suite"
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user