#!/bin/sh # The Rust and TypeScript RangeIndexers on the committed captures (edge/fixtures: 25k # overview lines each of a.b.models, a.b.ath and a.b.boneless, in 5 chunks), compared # by check.ts field by field: exits non-zero on any difference. CI runs it; run it from # the repository root after any change to either side. set -eu cd "$(dirname "$0")/.." cargo build --release --quiet --manifest-path edge/Cargo.toml --bin edge-bench out=$(mktemp -d) trap 'rm -rf "$out"' EXIT status=0 for capture in edge/fixtures/*/; do name=$(basename "$capture") edge/target/release/edge-bench "$capture" --batch-chunks 2 --idle 2 --dump "$out/$name.jsonl" --wire "$out/$name.wire.jsonl" >/dev/null 2>&1 echo "== $name" node --import=@poppinss/ts-exec edge/check.ts "$capture" "$out/$name.jsonl" --wire "$out/$name.wire.jsonl" --batch-chunks 2 --idle 2 || status=1 done exit $status