mirror of
https://github.com/lightningnetwork/lnd.git
synced 2024-11-19 09:53:54 +01:00
abb1e3463f
For some reason lnd doesn't properly shut down on some windows itests, and the process still running makes it impossible to access its log files. So for the Windows integration test, we attempt to kill the whole process tree once the process indicates it is done.
38 lines
859 B
Bash
Executable File
38 lines
859 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Get all the variables.
|
|
PROCESSES=$1
|
|
TRANCHES=$2
|
|
TEST_FLAGS=$3
|
|
ITEST_FLAGS=$4
|
|
|
|
# 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 $TEST_FLAGS $ITEST_FLAGS &
|
|
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
|