diff --git a/tests/HARNESS-MANIFEST b/tests/HARNESS-MANIFEST index 22b3060..e5ccc62 100644 --- a/tests/HARNESS-MANIFEST +++ b/tests/HARNESS-MANIFEST @@ -23,6 +23,7 @@ dc-dc-whole-host-budget dc-edge-wan-import dc-mirror +dc-node-v6-carve dc-plane-ipam dc-rack-mgmt-import dc-rack-net diff --git a/tests/dc-node-v6-carve/run-tests.sh b/tests/dc-node-v6-carve/run-tests.sh new file mode 100755 index 0000000..48d0a58 --- /dev/null +++ b/tests/dc-node-v6-carve/run-tests.sh @@ -0,0 +1,108 @@ +#!/usr/bin/env bash +# tests/dc-node-v6-carve/run-tests.sh -- offline harness for scripts/dc-node-v6-carve.py. +# Stubs `maas` with a fakebin returning controlled JSON. Never touches live MAAS. +# Exit: 0 all pass | 1 any case failed. ASCII + LF. +set -uo pipefail +HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +REPO="$(cd "$HERE/../.." && pwd)" +TMP="$(mktemp -d)"; trap 'rm -rf "$TMP"' EXIT +PASS=0; FAIL=0 +ok() { PASS=$((PASS+1)); printf ' PASS %s\n' "$1"; } +bad() { FAIL=$((FAIL+1)); printf ' FAIL %s\n' "$1"; shift; [ $# -gt 0 ] && printf '%s\n' "$*" | sed 's/^/ /'; } + +# mkbin +mkbin() { + local d="$1"; mkdir -p "$d/fakebin" + cat > "$d/fakebin/maas" < "$d/subnets.py" < "$d/machines.py" <