lnd/scripts/unit-test-flake-hunter.sh
yyforyongyu fa8527af09
Makefile+scripts: add unit test flake hunter
This commit adds a script to hunt flakes for a specific unit test with
trace logs. Also rename the make commands to make them more clear on
whether it's a unit test, itest, or paralleled itest.
2025-02-25 21:10:40 +08:00

23 lines
545 B
Bash
Executable file

#!/bin/bash
# Check if pkg and case variables are provided.
if [ $# -lt 2 ] || [ $# -gt 3 ]; then
echo "Usage: $0 <pkg> <case> [timeout]"
exit 1
fi
pkg=$1
case=$2
timeout=${3:-30s} # Default to 30s if not provided.
counter=0
# Run the command in a loop until it fails.
while output=$(go clean -testcache && make unit-debug log="stdlog trace" pkg=$pkg case=$case timeout=$timeout 2>&1); do
((counter++))
echo "Test $case passed, count: $counter"
done
# Only log the output when it fails.
echo "Test $case failed. Output:"
echo "$output"