Add CLI smoke test for docker-dynhost
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
IMAGE="$1"
|
||||
FAILED=0
|
||||
PASSED=0
|
||||
|
||||
TMPDIR="$(mktemp -d)"
|
||||
trap 'rm -rf "$TMPDIR"' EXIT
|
||||
|
||||
assert_eq() {
|
||||
local desc="$1" expected="$2" actual="$3"
|
||||
if [ "$expected" = "$actual" ]; then
|
||||
echo "PASS: $desc"
|
||||
PASSED=$((PASSED + 1))
|
||||
else
|
||||
echo "FAIL: $desc (expected '$expected', got '$actual')"
|
||||
FAILED=$((FAILED + 1))
|
||||
fi
|
||||
}
|
||||
|
||||
RC=0
|
||||
docker run --rm "$IMAGE" dig -v > "$TMPDIR/output" 2>&1 || RC=$?
|
||||
assert_eq "dig works" "0" "$RC"
|
||||
|
||||
if [ -s "$TMPDIR/output" ]; then
|
||||
echo "PASS: Command produces output"
|
||||
PASSED=$((PASSED + 1))
|
||||
else
|
||||
echo "FAIL: Command produces no output"
|
||||
FAILED=$((FAILED + 1))
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "$PASSED/$((PASSED + FAILED)) tests passed"
|
||||
if [ "$FAILED" -gt 0 ]; then
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user