mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-16 01:40:46 +08:00
48 lines
1.0 KiB
Bash
Executable File
48 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env zsh
|
|
|
|
set -e
|
|
|
|
clients=("Official" "YoStarJP" "YoStarEN" "YoStarKR" "txwy")
|
|
error_clients=()
|
|
log_dir="./install/debug"
|
|
mkdir -p "$log_dir"
|
|
|
|
pids=()
|
|
client_map=()
|
|
|
|
for client in "${clients[@]}"; do
|
|
echo "Starting test for $client"
|
|
./install/smoke_test "$client" > "$log_dir/asst_${client}.log" 2>&1 &
|
|
pids+=($!)
|
|
client_map+=("$client")
|
|
done
|
|
|
|
for i in {0..$(( ${#pids} - 1 ))}; do
|
|
pid=${pids[$i]}
|
|
client=${client_map[$i]}
|
|
|
|
if ! wait $pid; then
|
|
error_clients+=("$client")
|
|
fi
|
|
done
|
|
|
|
rm -f "$log_dir/asst.log"
|
|
for client in "${clients[@]}"; do
|
|
cat "$log_dir/asst_${client}.log" >> "$log_dir/asst.log"
|
|
done
|
|
|
|
if [[ ${#error_clients} -gt 0 ]]; then
|
|
for client in "${error_clients[@]}"; do
|
|
while IFS= read -r line; do
|
|
if [[ "$line" == *"[ERR]"* ]]; then
|
|
print -P "%F{red}${line}%f"
|
|
else
|
|
echo "$line"
|
|
fi
|
|
done < "$log_dir/asst_${client}.log"
|
|
done
|
|
exit 1
|
|
fi
|
|
|
|
print -P "%F{green}All tests passed%f"
|