Files
MaaAssistantArknights/tools/SmokeTesting/run_tests.zsh
MistEO 40c3cccfb2 ci: try macos for smoke_test (#14104)
* ci: try macos for smoke_test

* ci: Remove concurrency from smoke-testing workflow

* ci: use ninjga build for macos testing

* ci: add trigger

* ci: fix macos parallel

* ci: update bash

* fix: zsh script

* fix: perms

* fix: zsh script regular array

* ci: add resource link for cache hit

* test: enable dev for testing

* test: revert test

---------

Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
2025-09-14 14:22:15 +02:00

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 {1..${#pids}}; 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"