inotify-glitch/test.sh

60 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
start_time=$(date +%s)
# Set environment variables
export GLITCHTIP_DSN="https://d272afa8b4bd4308b3cf99ee74e1dc97@glitch.nixc.us/2"
export LOG_FILES="test_log_1.log,test_log_2.log"
echo "Using Glitchtip DSN: $GLITCHTIP_DSN"
echo "Monitoring log files: $LOG_FILES"
# Create test log files
echo "Creating test log files..."
echo "Initial log content" > test_log_1.log
echo "Initial log content" > test_log_2.log
# Run the Go program in the background
echo "Starting the Go program..."
./dist/inotify-glitch_darwin_arm64 &
# Capture the PID of the Go program
GO_PID=$!
# Give the program a moment to start
sleep 2
# Append a line with an error to one of the log files
echo "Appending error line to test_log_1.log..."
echo "This is an error line" >> test_log_1.log
# Give the program some time to process the change
sleep 2
# Check if the Go program detected the change (you can enhance this section with more specific checks)
echo "Check the logs to verify the program detected the error line."
# Capture Go program logs for debugging
ps -p $GO_PID > /dev/null
if [ $? -eq 0 ]; then
echo "The Go program is running."
else
echo "The Go program has terminated unexpectedly."
fi
# Cleanup: kill the Go program
echo "Terminating the Go program..."
kill $GO_PID
# Optionally: Remove test log files
echo "Removing test log files..."
rm test_log_1.log test_log_2.log
end_time=$(date +%s)
execution_time=$((end_time - start_time))
# Fix for macOS date command
execution_time_formatted=$(printf '%02d:%02d:%02d' $((execution_time/3600)) $((execution_time%3600/60)) $((execution_time%60)))
echo "Execution time: $execution_time_formatted"