diff --git a/tests/test.sh b/tests/test.sh new file mode 100644 index 0000000..d7db533 --- /dev/null +++ b/tests/test.sh @@ -0,0 +1,36 @@ +#!/bin/bash +set -euo pipefail + +IMAGE="$1" +FAILED=0 +PASSED=0 + +TMPDIR="$(mktemp -d)" +trap 'rm -rf "$TMPDIR"' EXIT + +docker run --rm --entrypoint /usr/bin/unrar "$IMAGE" > "$TMPDIR/output" 2>&1; RC=$? + +if grep -qiE "unrar|usage" "$TMPDIR/output"; then + echo "PASS: unrar prints usage info" + PASSED=$((PASSED + 1)) +else + echo "FAIL: unrar output unrecognized" + FAILED=$((FAILED + 1)) +fi + +# unrar displays help on stderr in some versions, check there too +docker run --rm --entrypoint /usr/bin/unrar "$IMAGE" 2> "$TMPDIR/stderr" 1>/dev/null; : + +if grep -qiE "unrar|usage" "$TMPDIR/stderr"; then + echo "PASS: unrar stderr contains usage info" + PASSED=$((PASSED + 1)) +else + echo "FAIL: unrar stderr unrecognized" + FAILED=$((FAILED + 1)) +fi + +echo "" +echo "$PASSED/$((PASSED + FAILED)) tests passed" +if [ "$FAILED" -gt 0 ]; then + exit 1 +fi