#!/bin/bash # Probe der zwei Skripte mit argparse -- ausschliesslich aus einem leeren Temp-Verzeichnis. # Die Uebung selbst (--ausfuehren) wird NICHT gefahren. Aufruf: wsl -d Debian -- bash -s < skripte_probe.sh set -u P="/mnt/d/Claude/Code Projekte/active - Trading Plattform" PY="$HOME/venvs/trading/bin/python" # Vorbedingung: Es muessen die neuen Fassungen sein. Die alte Uebung ignoriert jedes Argument und handelt. if ! grep -q "if not parse_args().ausfuehren" "$P/scripts/killswitch_uebung.py"; then echo "ABBRUCH: killswitch_uebung.py prueft den Schalter nicht"; exit 9; fi if ! grep -q "argparse" "$P/scripts/dashboard.py"; then echo "ABBRUCH: dashboard.py ohne argparse"; exit 9; fi T=$(mktemp -d) cd "$T" || exit 9 echo "Arbeitsverzeichnis: $T ($(ls -A "$T" | wc -l) Eintraege)" VORHER=$(ls -la --time-style=full-iso "$P/data/registry.db" 2>/dev/null | md5sum) lauf() { name="$1"; shift "$PY" "$@" > "$T/aus.txt" 2> "$T/err.txt" < /dev/null code=$? echo "=== $name: exit=$code" echo "--- stdout (erste Zeilen):"; head -4 "$T/aus.txt" echo "--- stderr (ohne Warnungen, letzte Zeilen):"; grep -v -E "Pandas4Warning|utcnow|warnings.warn" "$T/err.txt" | tail -3 rm -f "$T/aus.txt" "$T/err.txt" } lauf "dashboard.py --help" "$P/scripts/dashboard.py" --help lauf "killswitch_uebung.py --help" "$P/scripts/killswitch_uebung.py" --help lauf "killswitch_uebung.py ohne Schalter" "$P/scripts/killswitch_uebung.py" lauf "killswitch_uebung.py --unbekannt" "$P/scripts/killswitch_uebung.py" --unbekannt lauf "dashboard.py ohne Konfiguration im Verzeichnis" "$P/scripts/dashboard.py" NACHHER=$(ls -la --time-style=full-iso "$P/data/registry.db" 2>/dev/null | md5sum) echo "Registerordner unveraendert: $([ "$VORHER" = "$NACHHER" ] && echo ja || echo NEIN)" echo "Rest im Temp-Verzeichnis: $(ls -A "$T" | wc -l) Eintraege" rmdir "$T" 2>/dev/null