#!/usr/bin/env bash # Row 149 owner's gate (sage-0642): every package suite and every scripts/test-*.sh, on 4b1795a8c # plus build.patch. One log per step under gate/. Docker containers and networks are counted # before and after; anything the run leaves is listed, not removed, so another seat's isn't touched. set -uo pipefail WT=${1:-$HOME/dewey-scratch/r149} OUT=$(cd "$(dirname "$0")" && pwd)/gate mkdir -p "$OUT" export TMPDIR=$HOME/dewey-scratch/tmp status=0 docker_state() { echo "docker $1 containers=$(docker ps -aq | wc -l) networks=$(docker network ls -q | wc -l)"; } docker_state before docker ps -aq | sort >"$OUT/containers-before.txt"; docker network ls -q | sort >"$OUT/networks-before.txt" for p in bus business cli harness plugins seat tasks webui; 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 docker_state after echo "left containers: $(comm -13 "$OUT/containers-before.txt" <(docker ps -aq | sort) | tr '\n' ' ')" echo "left networks: $(comm -13 "$OUT/networks-before.txt" <(docker network ls -q | sort) | tr '\n' ' ')" exit $status