d1c751ee31
Docker Build and Push / lint (push) Successful in 8s
Docker Build and Push / lint (pull_request) Successful in 6s
Docker Build and Push / build (pull_request) Successful in 12s
Docker Build and Push / build (push) Successful in 17s
Docker Build and Push / test (pull_request) Successful in 15s
Docker Build and Push / test (push) Successful in 15s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / push (push) Successful in 17s
35 lines
837 B
Bash
35 lines
837 B
Bash
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
IMAGE="$1"
|
|
FAILED=0
|
|
PASSED=0
|
|
|
|
TMPDIR="$(mktemp -d)"
|
|
trap 'rm -rf "$TMPDIR"' EXIT
|
|
CONTAINER_NAME="test-crond-$$"
|
|
|
|
# Test 1: Container starts and crond is running
|
|
docker run -d --name "$CONTAINER_NAME" "$IMAGE"
|
|
sleep 4
|
|
if [ "$(docker inspect "$CONTAINER_NAME" --format='{{.State.Running}}')" != "true" ]; then
|
|
echo "FAIL: container exited prematurely"
|
|
echo "=== Container logs ==="
|
|
docker logs "$CONTAINER_NAME" 2>&1 || true
|
|
FAILED=$((FAILED + 1))
|
|
elif docker exec "$CONTAINER_NAME" pgrep crond > /dev/null 2>&1; then
|
|
echo "PASS: crond is running"
|
|
PASSED=$((PASSED + 1))
|
|
else
|
|
echo "FAIL: crond is not running"
|
|
FAILED=$((FAILED + 1))
|
|
fi
|
|
|
|
docker rm -f "$CONTAINER_NAME" > /dev/null 2>&1 || true
|
|
|
|
echo ""
|
|
echo "$PASSED/$((PASSED + FAILED)) tests passed"
|
|
if [ "$FAILED" -gt 0 ]; then
|
|
exit 1
|
|
fi
|