Delete asks/merge-check.sh; the proof against the clones is an integration test, the shell syntax a unit test (issue 1295, S5 asks; ADR 0529)

This commit is contained in:
2026-10-23 15:37:08 +02:00
parent 49ee611847
commit bdb927f83d
3 changed files with 19 additions and 37 deletions
+17
View File
@@ -0,0 +1,17 @@
package asks
import (
"os/exec"
"testing"
)
// live-acceptance.sh is run by a person at the terminal and by no test: its syntax is judged here, as the lab's script
// judged it with `sh -n` (novox/hq ADR 0529).
func TestTheLiveAcceptanceScriptIsValidShell(t *testing.T) {
if _, err := exec.LookPath("sh"); err != nil {
t.Skip("NOT TESTED HERE: no sh on the path")
}
if out, err := exec.Command("sh", "-n", "live-acceptance.sh").CombinedOutput(); err != nil {
t.Fatalf("live-acceptance.sh is not valid shell: %v\n%s", err, out)
}
}
-37
View File
@@ -1,37 +0,0 @@
#!/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"
+2
View File
@@ -1,3 +1,5 @@
//go:build integration
package asks
import (