mirror of
https://github.com/calibrain/shelfmark.git
synced 2026-10-03 06:45:45 +01:00
- Add configurable completed-path wait for external clients : - Add a configurable Advanced setting, DOWNLOAD_CLIENT_COMPLETED_PATH_TIMEOUT, for how long Shelfmark waits after a torrent or usenet client reports completion before treating the completed path as missing. - Keep the default at the existing 60-second grace period, with a maximum of 3600 seconds - Add e2e testing - Add e2e testing Should fix #861
49 lines
1.5 KiB
Bash
Executable File
49 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Run the full config matrix: every profile, in sequence, aggregating results.
|
|
#
|
|
# ./run-matrix.sh # all profiles
|
|
# ./run-matrix.sh baseline dns-manual # a subset (by profile name)
|
|
set -uo pipefail
|
|
|
|
PLATFORM_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
cd "$PLATFORM_DIR"
|
|
|
|
if [[ $# -gt 0 ]]; then
|
|
PROFILES=("$@")
|
|
else
|
|
PROFILES=(baseline bypasser-external bypasser-disabled dns-manual dns-blocked dns-doh \
|
|
proxy-http proxy-socks tor client-transmission client-deluge \
|
|
client-qbittorrent-delayed)
|
|
fi
|
|
|
|
# Build the (heavy) images once, then reuse them across every profile so the
|
|
# matrix doesn't rebuild the xvfb/chromium layer N times. Set NO_PREBUILD=1 to
|
|
# skip (e.g. to let each run rebuild from source).
|
|
if [[ "${NO_PREBUILD:-0}" != "1" ]]; then
|
|
echo "==> pre-building images once (reused by all profiles)"
|
|
./build-images.sh
|
|
export E2E_NO_BUILD=1
|
|
fi
|
|
|
|
declare -A RESULT
|
|
FAILED=0
|
|
for p in "${PROFILES[@]}"; do
|
|
echo "========================================================================"
|
|
echo " PROFILE: $p"
|
|
echo "========================================================================"
|
|
if ./run-e2e.sh "env/$p.env"; then
|
|
RESULT[$p]="PASS"
|
|
else
|
|
RESULT[$p]="FAIL"
|
|
FAILED=1
|
|
fi
|
|
done
|
|
|
|
echo "========================================================================"
|
|
echo " MATRIX SUMMARY"
|
|
echo "========================================================================"
|
|
for p in "${PROFILES[@]}"; do
|
|
printf " %-22s %s\n" "$p" "${RESULT[$p]:-SKIP}"
|
|
done
|
|
exit $FAILED
|