#!/bin/bash # Checks the prain front door against a fake prain checkout and a fake rc-service. # Run: bash scripts/test_prain.sh set -u p=$(cd "$(dirname "$0")" && pwd)/prain t=$(mktemp -d) trap 'rm -rf "$t"' EXIT mkdir -p "$t/root/scripts" "$t/root/.venv/bin" "$t/bin" cat > "$t/root/scripts/env.sh" < "$t/root/.venv/bin/prain" printf '#!/bin/sh\necho "$*"\n' > "$t/bin/rc-service" chmod +x "$t/root/.venv/bin/prain" "$t/bin/rc-service" cat > "$t/prain.conf" </dev/null; echo $?)" check need "a" "$("$p" need b)" check need-none "" "$("$p" need a)" check wait-without-url 0 "$("$p" wait a; echo $?)" check wait-times-out 1 "$("$p" wait b 2>/dev/null; echo $?)" check up-in-order "--user prain.a start --user prain.b start" "$("$p" up)" check down-in-reverse "--user prain.b stop --user prain.a stop" "$("$p" down)" check status-one "--user prain.b status" "$("$p" status b)" exit $fail