add shellspec golden harness for the legacy make engine
- spec/golden/cases.txt: 69 black-box cases (CLI wrapper mode and make include mode) run in a hermetic sandbox with a mocked docker - spec/golden/expected/*.txt recorded from this engine (baseline) - make test / test-golden / golden-record / lint dev targets
This commit is contained in:
Executable
+18
@@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
# Record golden outputs of the LEGACY make engine into spec/golden/expected/.
|
||||
# Usage: spec/golden/record.sh [case-name ...]
|
||||
set -u
|
||||
here=$(cd "$(dirname "$0")" && pwd)
|
||||
. "$here/../support/run.sh"
|
||||
MYOS_ROOT=${MYOS_ROOT:-$(cd "$here/../.." && pwd)}
|
||||
only="$*"
|
||||
grep -v '^#' "$here/cases.txt" | while IFS='|' read -r name fixture args; do
|
||||
name=$(echo "$name" | tr -d ' '); fixture=$(echo "$fixture" | tr -d ' ')
|
||||
[ -z "$name" ] && continue
|
||||
if [ -n "$only" ]; then case " $only " in *" $name "*) ;; *) continue ;; esac; fi
|
||||
sb=$(myos_sandbox "$fixture")
|
||||
eval "set -- $args"
|
||||
myos_run_engine legacy "$sb" "$@" > "$here/expected/$name.txt"
|
||||
rm -rf "$sb"
|
||||
printf 'recorded %s (%s lines)\n' "$name" "$(wc -l < "$here/expected/$name.txt" | tr -d ' ')"
|
||||
done
|
||||
Reference in New Issue
Block a user