ics-simlab-config-gen-claude/scripts/test_simlab.sh

43 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
#
# Test ICS-SimLab with generated scenario
#
set -e
SCENARIO_DIR="$(cd "$(dirname "$0")" && pwd)/outputs/scenario_run"
SIMLAB_DIR="$HOME/projects/ICS-SimLab-main/curtin-ics-simlab"
echo "============================================================"
echo "Testing ICS-SimLab with scenario: $SCENARIO_DIR"
echo "============================================================"
if [ ! -d "$SIMLAB_DIR" ]; then
echo "ERROR: ICS-SimLab not found at: $SIMLAB_DIR"
exit 1
fi
if [ ! -f "$SCENARIO_DIR/configuration.json" ]; then
echo "ERROR: Scenario not found at: $SCENARIO_DIR"
echo "Run: .venv/bin/python3 build_scenario.py --overwrite"
exit 1
fi
cd "$SIMLAB_DIR"
echo ""
echo "Starting ICS-SimLab..."
echo "Command: sudo ./start.sh $SCENARIO_DIR"
echo ""
echo "NOTES:"
echo " - Check PLC2 logs for 'Exception in thread' errors (should be none)"
echo " - Check PLC2 logs for 'WARNING: Callback failed' (connection retries)"
echo " - Verify containers start: sudo docker ps"
echo " - View PLC2 logs: sudo docker logs <plc2_container> -f"
echo " - Stop: sudo ./stop.sh"
echo ""
echo "Press Enter to start..."
read
sudo ./start.sh "$SCENARIO_DIR"