tools/pasture/run.sh up [peer...] | down | logs | ps and interop.sh [peer...] are now built from parts: - lib/pasture.sh: network, Caddy with its CA in a volume and copied to .ca/root.crt, Mongo, PrivaPub; - peers/<name>.sh: each peer's <name>_up; - lib/interop.sh: ok, ko, and xf for checks expected to fail until a later phase; privapub_token <persona>, which gives each peer its own persona under one root; and stats_check; - scenarios/<name>.sh: each peer's checks. GoToSocial is pinned at 0.22.1, the version the 33 checks were proven on. Its scenario gains four statistics checks: - the admin statistics describe gts.test as gotosocial; - they count inbound and outbound traffic; - they name no account. 37/37 passed three runs in a row. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ELjqpznMFMNrJoJUj6K5p2
16 lines
603 B
Bash
Executable File
16 lines
603 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Drives PrivaPub and each peer (started by run.sh) through each other's federation, as their users would, then checks
|
|
# that PrivaPub's statistics saw it all without naming anyone.
|
|
# usage: tools/pasture/interop.sh [peer...] peers: gts (default)
|
|
set -uo pipefail
|
|
here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
. "$here/lib/interop.sh"
|
|
|
|
for peer in "${@:-gts}"; do
|
|
[ -f "$here/scenarios/$peer.sh" ] || { echo "no scenario for $peer" >&2; exit 2; }
|
|
. "$here/scenarios/$peer.sh"
|
|
done
|
|
|
|
echo; echo "$pass passed, $fail failed, $expected expected failures"
|
|
[ "$fail" = 0 ]
|