35 lines
1.1 KiB
Bash
Executable file
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
|