diff --git a/tests/test.sh b/tests/test.sh new file mode 100644 index 0000000..cfc3aa4 --- /dev/null +++ b/tests/test.sh @@ -0,0 +1,30 @@ +#!/bin/bash +set -euo pipefail + +IMAGE="$1" +FAILED=0 +PASSED=0 + +assert_contains() { + local desc="$1" pattern="$2" file="$3" + if grep -qEi "$pattern" "$file"; then + echo "PASS: $desc" + PASSED=$((PASSED + 1)) + else + echo "FAIL: $desc" + FAILED=$((FAILED + 1)) + fi +} + +TMPDIR="$(mktemp -d)" +trap 'rm -rf "$TMPDIR"' EXIT + +# Test 1: Container runs without error +docker run --rm "$IMAGE" duplicacy -version > "$TMPDIR/output" 2>&1 || true +assert_contains "Command produces output" "duplicacy" "$TMPDIR/output" + +echo "" +echo "$PASSED/$((PASSED + FAILED)) tests passed" +if [ "$FAILED" -gt 0 ]; then + exit 1 +fi