S03-H3 CLOSED baseline
This commit is contained in:
Executable
+115
@@ -0,0 +1,115 @@
|
||||
#!/usr/bin/env bash
|
||||
set -u
|
||||
|
||||
if [ "$#" -ne 1 ]; then
|
||||
printf "Uso: %s <run.log>\n" "$0" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
RUN_LOG="$1"
|
||||
|
||||
if [ ! -f "$RUN_LOG" ]; then
|
||||
printf "LOG ASSENTE: %s\n" "$RUN_LOG" >&2
|
||||
exit 3
|
||||
fi
|
||||
|
||||
START_LINES="$(
|
||||
grep -Ec \
|
||||
'^\[Information - RealTimeLoader\.cpp:[0-9]+\]: Started application in state State1[[:space:]]*$' \
|
||||
"$RUN_LOG" || true
|
||||
)"
|
||||
|
||||
COUNTER_SAMPLES="$(
|
||||
grep -Ec \
|
||||
'^\[Information - LoggerBroker\.cpp:[0-9]+\]: Counter \[0:0\]:[0-9]+[[:space:]]*$' \
|
||||
"$RUN_LOG" || true
|
||||
)"
|
||||
|
||||
CYCLE_TIME_SAMPLES="$(
|
||||
grep -Ec \
|
||||
'^\[Information - LoggerBroker\.cpp:[0-9]+\]: State1_Thread1_CycleTime \[0:0\]:[0-9]+[[:space:]]*$' \
|
||||
"$RUN_LOG" || true
|
||||
)"
|
||||
|
||||
SIGINT_LINES="$(
|
||||
grep -Ec \
|
||||
'^\[Information - Bootstrap\.cpp:[0-9]+\]: Application recieved SIGINT\.[[:space:]]*$' \
|
||||
"$RUN_LOG" || true
|
||||
)"
|
||||
|
||||
STOP_OK_LINES="$(
|
||||
grep -Ec \
|
||||
'^\[Information - Bootstrap\.cpp:[0-9]+\]: Application successfully stopped\.[[:space:]]*$' \
|
||||
"$RUN_LOG" || true
|
||||
)"
|
||||
|
||||
FATAL_ERROR_LINES="$(
|
||||
grep -Ec '^\[FatalError - ' "$RUN_LOG" || true
|
||||
)"
|
||||
|
||||
ERROR_LINES="$(
|
||||
grep -Ec '^\[Error - ' "$RUN_LOG" || true
|
||||
)"
|
||||
|
||||
NO_ERROR_LINES="$(
|
||||
grep -Ec '^\[NoError - ' "$RUN_LOG" || true
|
||||
)"
|
||||
|
||||
DOUBLE_STOP_LINES="$(
|
||||
grep -Fc \
|
||||
'Could not stop the RealTimeApplication. Was it ever started?' \
|
||||
"$RUN_LOG" || true
|
||||
)"
|
||||
|
||||
LAST_COUNTER="$(
|
||||
grep -E \
|
||||
'^\[Information - LoggerBroker\.cpp:[0-9]+\]: Counter \[0:0\]:[0-9]+[[:space:]]*$' \
|
||||
"$RUN_LOG" |
|
||||
tail -n 1 |
|
||||
awk -F: '{gsub(/[[:space:]]/, "", $NF); print $NF}'
|
||||
)"
|
||||
|
||||
printf "============================================================\n"
|
||||
printf "VALIDAZIONE PRECISA S01\n"
|
||||
printf "============================================================\n"
|
||||
printf "Log: %s\n" "$RUN_LOG"
|
||||
printf "Avvii di State1: %s\n" "$START_LINES"
|
||||
printf "Campioni Counter reali: %s\n" "$COUNTER_SAMPLES"
|
||||
printf "Ultimo Counter: %s\n" "${LAST_COUNTER:-non disponibile}"
|
||||
printf "Campioni CycleTime reali: %s\n" "$CYCLE_TIME_SAMPLES"
|
||||
printf "SIGINT ricevuti: %s\n" "$SIGINT_LINES"
|
||||
printf "Stop riusciti: %s\n" "$STOP_OK_LINES"
|
||||
printf "Righe FatalError reali: %s\n" "$FATAL_ERROR_LINES"
|
||||
printf "Righe Error reali: %s\n" "$ERROR_LINES"
|
||||
printf "Righe NoError: %s\n" "$NO_ERROR_LINES"
|
||||
printf "Anomalie doppio arresto: %s\n" "$DOUBLE_STOP_LINES"
|
||||
|
||||
FUNCTIONAL_OK=0
|
||||
|
||||
if [ "$START_LINES" -ge 1 ] &&
|
||||
[ "$COUNTER_SAMPLES" -ge 50 ] &&
|
||||
[ "$CYCLE_TIME_SAMPLES" -ge 50 ]; then
|
||||
FUNCTIONAL_OK=1
|
||||
fi
|
||||
|
||||
printf "\n============================================================\n"
|
||||
printf "CLASSIFICAZIONE\n"
|
||||
printf "============================================================\n"
|
||||
|
||||
if [ "$FUNCTIONAL_OK" -eq 1 ]; then
|
||||
printf "[VERIFICATO] Funzionamento S01 e produzione dei segnali.\n"
|
||||
else
|
||||
printf "[NON DIMOSTRATO] Funzionamento S01 non sufficientemente provato.\n"
|
||||
exit 20
|
||||
fi
|
||||
|
||||
if [ "$SIGINT_LINES" -ge 1 ] &&
|
||||
[ "$STOP_OK_LINES" -ge 1 ] &&
|
||||
[ "$FATAL_ERROR_LINES" -eq 0 ] &&
|
||||
[ "$ERROR_LINES" -eq 0 ]; then
|
||||
printf "[VERIFICATO] Shutdown privo di Error e FatalError.\n"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
printf "[DA VERIFICARE] Funzionalità riuscita, ma shutdown con anomalia.\n"
|
||||
exit 10
|
||||
Reference in New Issue
Block a user