mesh/merge-gate head dcaf843b8a6e merged into trunk 1316a405a630 — pass: the change touches no module of the mesh's graph
mesh/repo-check head dcaf843b8a6e merged into trunk 1316a405a630 — pass: THE CHANGE ALTERS ITS OWN CHECK (asks/merge-check.sh): main's version judged it; t…
mesh/delivery delivered
Since mesh-catalog #278 the channel sends every message in HTML (issues 383, 639). The fake Bot API kept the text as sent, tags and entities included, and gave that back on a tap; the channel compares a tap by the plain words it showed, so the proof's tap was refused as "this message does not show what the mesh put there". Telegram reads the markup and gives the plain words back; the fake now does too.
38 lines
1.6 KiB
Bash
38 lines
1.6 KiB
Bash
#!/bin/sh
|
|
# mesh-check-toolchain: go
|
|
#
|
|
# The proof of the operator's answers (novox/hq ADR 0259), the Go part of the lab's own check: run by the
|
|
# build seat in the mesh's Go toolchain, its own container, because the lab's merge-check.sh declares it
|
|
# (`# mesh-check-also: go asks/merge-check.sh`) — and by hand: `sh asks/merge-check.sh`.
|
|
#
|
|
# Formatted, vetted, and run against the clones beside the lab: on the build seat those are the controller,
|
|
# the runtime and the catalogue **the mesh runs**, so every pull request of the lab proves the answers the
|
|
# operator would get today. By hand, MESH_LAB_REPOS, or MESH_LAB_CONTROLLER, MESH_LAB_TOOLS and
|
|
# MESH_LAB_CATALOGUE, point it at branches under review. It takes about four minutes when it runs.
|
|
#
|
|
# **Said, never passed silently**: where a clone is missing, or the controller predates the proof's fixture,
|
|
# it says NOT RUN and why, in capitals, and passes; a proof that runs and fails, fails the check.
|
|
set -eu
|
|
cd "$(dirname "$0")"
|
|
export GOPRIVATE=git.novox.be
|
|
|
|
unformatted=$(gofmt -l .)
|
|
if [ -n "$unformatted" ]; then
|
|
echo "not gofmt'd:"
|
|
echo "$unformatted"
|
|
exit 1
|
|
fi
|
|
sh -n live-acceptance.sh
|
|
go vet ./...
|
|
out=$(mktemp)
|
|
status=0
|
|
go test -count=1 -timeout 25m -v -run '^(TestTheOperatorsAnswerEndToEnd|TestTheFakePhoneShowsHTMLAsTelegramDoes)$' . >"$out" 2>&1 || status=$?
|
|
grep -E '^(--- | --- |ok|FAIL|PASS)' "$out" || true
|
|
if grep -q 'NOT RUN' "$out"; then
|
|
echo "NOT RUN: THE PROOF OF THE OPERATOR'S ANSWERS DID NOT RUN HERE:"
|
|
grep -o 'NOT RUN: .*' "$out" | head -3
|
|
fi
|
|
[ "$status" -eq 0 ] || tail -60 "$out"
|
|
rm -f "$out"
|
|
exit "$status"
|