mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-06-16 11:51:10 +02:00
When one of the itest tranches fails, because we are running tests in parallel, other tranches will still be running, which caused 7z to fail at zipping the logs because race reads. This commit fixes it by making sure we are waiting other tranches to finish before moving to zipping and uploading the logs.
39 lines
839 B
Bash
Executable File
39 lines
839 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
|