37 lines
838 B
Bash
37 lines
838 B
Bash
#!/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
|