#!/usr/bin/env bash # Row 151 owner's gate (sage-0454): the bus and cli suites and every scripts/test-*.sh, on base.txt plus # build.patch. One log per step under gate/. set -uo pipefail WT=${1:-$HOME/dewey-scratch/r151/wt} OUT=$(cd "$(dirname "$0")" && pwd)/gate mkdir -p "$OUT" export TMPDIR=$HOME/dewey-scratch/tmp # test-task.sh's live cases run `docker compose run` from $WT (mosaic-task.mjs passes its env through). # An explicit project name keeps them off the dir-named `wt` project; its network goes at exit (Mos, sage-0447). export COMPOSE_PROJECT_NAME=dewey-r151 trap 'docker network rm "${COMPOSE_PROJECT_NAME}_default" >/dev/null 2>&1 && echo "removed network ${COMPOSE_PROJECT_NAME}_default"' EXIT status=0 for p in bus cli; do start=$(date -u +%FT%TZ) (cd "$WT/packages/$p" && node --test tests/*.test.mjs) >"$OUT/pkg-$p.log" 2>&1 rc=$? counts=$(grep -E '^ℹ (tests|pass|fail|skipped) ' "$OUT/pkg-$p.log" | awk '{printf "%s=%s ", $2, $3}') echo "pkg-$p start=$start end=$(date -u +%FT%TZ) rc=$rc $counts" [ "$rc" -eq 0 ] || status=1 done for s in "$WT"/scripts/test-*.sh; do n=$(basename "$s" .sh) start=$(date -u +%FT%TZ) (cd "$WT" && bash "scripts/$n.sh") >"$OUT/$n.log" 2>&1 rc=$? echo "$n start=$start end=$(date -u +%FT%TZ) rc=$rc" [ "$rc" -eq 0 ] || status=1 done exit $status