mirror of
https://github.com/fluxerapp/fluxer.git
synced 2026-09-03 05:10:25 +03:00
65 lines
1.6 KiB
Bash
Executable File
65 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
|
|
DEFAULT_CRATES=$(cat <<'ENTRIES'
|
|
fluxer_desktop/native/rt-thread:tick
|
|
fluxer_desktop/native/audio-mix:mix
|
|
fluxer_desktop/native/screen-frame-bus:staging
|
|
fluxer_desktop/native/screen-frame-bus:frame_pool
|
|
fluxer_desktop/native/nv12-gpu-pack:pack
|
|
fluxer_desktop/native/encoder-ring:ring
|
|
fluxer_desktop/native/linux-audio-capture:end_to_end
|
|
fluxer_desktop/native/linux-screen-capture:pipewire_callback
|
|
fluxer_desktop/native/webrtc-sender:frame_bus
|
|
fluxer_desktop/native/rust:native_core
|
|
ENTRIES
|
|
)
|
|
|
|
ENTRIES="${BENCH_CRATES:-$DEFAULT_CRATES}"
|
|
|
|
log() { printf '[check-all] %s\n' "$*" >&2; }
|
|
|
|
pass_count=0
|
|
fail_count=0
|
|
skip_count=0
|
|
failed_names=()
|
|
|
|
while IFS= read -r entry; do
|
|
[ -n "$entry" ] || continue
|
|
case "$entry" in
|
|
\#*) continue;;
|
|
esac
|
|
crate="${entry%%:*}"
|
|
bench="${entry##*:}"
|
|
if [ "${BENCH_SKIP_GPU:-0}" = "1" ] && [ "$crate" = "fluxer_desktop/native/nv12-gpu-pack" ]; then
|
|
log "skip (gpu): $crate $bench"
|
|
skip_count=$((skip_count + 1))
|
|
continue
|
|
fi
|
|
log "==> $crate :: $bench"
|
|
if "$SCRIPT_DIR/check-regression.sh" "$REPO_ROOT/$crate" "$bench"; then
|
|
pass_count=$((pass_count + 1))
|
|
else
|
|
fail_count=$((fail_count + 1))
|
|
failed_names+=("$crate::$bench")
|
|
fi
|
|
done <<< "$ENTRIES"
|
|
|
|
printf '\n[check-all] summary: %d passed, %d failed, %d skipped\n' \
|
|
"$pass_count" "$fail_count" "$skip_count"
|
|
|
|
if [ "$fail_count" -gt 0 ]; then
|
|
printf '[check-all] failed entries:\n'
|
|
for name in "${failed_names[@]}"; do
|
|
printf ' - %s\n' "$name"
|
|
done
|
|
exit 1
|
|
fi
|
|
|
|
exit 0
|