#!/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