Files
agrarian/contrib/smoke-test-qt.sh
T
2026-04-30 06:38:51 +00:00

49 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
DATADIR="${DATADIR:-$(mktemp -d /tmp/agrarian-qt-smoke.XXXXXX)}"
LOGFILE="${LOGFILE:-/tmp/agrarian-qt-smoke.log}"
WAIT_SECONDS="${WAIT_SECONDS:-25}"
AGRARIAN_QT="${AGRARIAN_QT:-$ROOT/src/qt/agrarian-qt}"
require_path() {
if [[ ! -x "$1" ]]; then
echo "Missing executable: $1" >&2
exit 1
fi
}
require_path "$AGRARIAN_QT"
mkdir -p "$DATADIR"
rm -f "$LOGFILE"
set +e
timeout --kill-after=5s "${WAIT_SECONDS}s" xvfb-run -a "$AGRARIAN_QT" \
-regtest -datadir="$DATADIR" -choosedatadir=0 -debug=qt -debug=rpc \
-printtoconsole -server=0 -listen=0 -dnsseed=0 -connect=0 >"$LOGFILE" 2>&1
exit_code=$?
set -e
if [[ "$exit_code" -ne 124 ]]; then
echo "Expected Qt wallet to keep running until timeout, got exit code $exit_code" >&2
tail -n 80 "$LOGFILE" >&2 || true
exit 1
fi
if ! grep -q "init message: Done loading" "$LOGFILE"; then
echo "Qt wallet did not reach Done loading" >&2
tail -n 120 "$LOGFILE" >&2 || true
exit 1
fi
if grep -E "No functional TLS|No such signal|Unknown property" "$LOGFILE" >/dev/null; then
echo "Qt wallet logged a Qt6 runtime compatibility warning" >&2
grep -E "No functional TLS|No such signal|Unknown property" "$LOGFILE" >&2 || true
exit 1
fi
echo "Agrarian Qt smoke test passed"
echo " datadir: $DATADIR"
echo " log: $LOGFILE"