mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-08-28 22:50:58 +02:00
itest: fix itest logs upload
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.
This commit is contained in:
committed by
Olaoluwa Osuntokun
parent
3549e329df
commit
ba007d9373
38
scripts/itest_parallel.sh
Executable file
38
scripts/itest_parallel.sh
Executable file
@@ -0,0 +1,38 @@
|
||||
#!/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
|
Reference in New Issue
Block a user