mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-02-23 14:40:30 +01:00
This commit adds a new flag to shuffle all the test cases before running them so tests which require lots of blocks to be mined are less likely to be run in the same tranch. The other benefit is this approach provides a more efficient way to figure which tests are broken since all the differnet backends are running different tranches in their builds, we can identify more failed tests in one push.
39 lines
924 B
Bash
Executable file
39 lines
924 B
Bash
Executable file
#!/bin/bash
|
|
|
|
# Get all the variables.
|
|
PROCESSES=$1
|
|
TRANCHES=$2
|
|
SHUFFLE_SEED=$3
|
|
|
|
# Here we also shift 3 times and get the rest of our flags to pass on in $@.
|
|
shift 3
|
|
|
|
# Create a variable to hold the final exit code.
|
|
exit_code=0
|
|
|
|
# Run commands using xargs in parallel and capture their PIDs
|
|
pids=()
|
|
for ((i=0; i<PROCESSES; i++)); do
|
|
scripts/itest_part.sh $i $TRANCHES $SHUFFLE_SEED $@ &
|
|
pids+=($!)
|
|
done
|
|
|
|
|
|
# Wait for the processes created by xargs to finish.
|
|
for pid in "${pids[@]}"; do
|
|
wait $pid
|
|
|
|
# Once finished, grab its exit code.
|
|
current_exit_code=$?
|
|
|
|
# Overwrite the exit code if current itest doesn't return 0.
|
|
if [ $current_exit_code -ne 0 ]; then
|
|
# Only write the exit code of the first failing itest.
|
|
if [ $exit_code -eq 0 ]; then
|
|
exit_code=$current_exit_code
|
|
fi
|
|
fi
|
|
done
|
|
|
|
# Exit with the exit code of the first failing itest or 0.
|
|
exit $exit_code
|