15 lines
396 B
Bash
15 lines
396 B
Bash
#!/bin/sh
|
|
set -e
|
|
|
|
tmpdir="$(mktemp -d)"
|
|
trap 'rm -r "$tmpdir"' EXIT
|
|
|
|
usage="usage: $0 transcript_file command [args ...]"
|
|
|
|
transcript_file="${1:?$usage}"
|
|
shift
|
|
: "${1:?$usage}"
|
|
|
|
"$@" > "$tmpdir/stdout" 2> "$tmpdir/stderr" || true
|
|
sed -nE 's/^#stdout: //p' "$transcript_file" | diff -u /dev/stdin "$tmpdir/stdout"
|
|
sed -nE 's/^#stderr: //p' "$transcript_file" | diff -u /dev/stdin "$tmpdir/stderr"
|