clawdie-iso/scripts/run-bhyve-test.sh

35 lines
1.1 KiB
Bash
Executable file

#!/bin/sh
# Wrapper script to run bhyve test with full logging and error capture
LOG_DIR="${PWD}/logs"
mkdir -p "$LOG_DIR"
LOG_FILE="${LOG_DIR}/bhyve-test-$(date +%Y%m%d-%H%M%S).log"
echo "Test started: $(date)" > "$LOG_FILE"
echo "Log: $LOG_FILE" >&2
echo "" >> "$LOG_FILE"
# Run the actual test script, capturing both stdout and stderr
echo "=== BHYVE TEST START ===" >> "$LOG_FILE"
echo "Command: $(pwd)/tmp/bhyve-test-setup.sh" >> "$LOG_FILE"
echo "Started: $(date '+%Y-%m-%d %H:%M:%S')" >> "$LOG_FILE"
echo "" >> "$LOG_FILE"
# Run with tee to show output AND log it
timeout 1800 ./scripts/bhyve-test.sh 2>&1 | tee -a "$LOG_FILE"
EXIT_CODE=$?
echo "" >> "$LOG_FILE"
echo "=== BHYVE TEST END ===" >> "$LOG_FILE"
echo "Ended: $(date '+%Y-%m-%d %H:%M:%S')" >> "$LOG_FILE"
echo "Exit code: $EXIT_CODE" >> "$LOG_FILE"
echo "" >> "$LOG_FILE"
# Check for errors in log
echo "=== ERROR SCAN ===" >> "$LOG_FILE"
echo "Errors found:" >> "$LOG_FILE"
grep -i "error\|failed\|panic\|fatal" "$LOG_FILE" | tail -20 >> "$LOG_FILE" || echo "No errors detected" >> "$LOG_FILE"
echo "" >> "$LOG_FILE"
echo "Log saved to: $LOG_FILE"
exit $EXIT_CODE