Skip to content

Commit 47e821f

Browse files
committed
Update tests to run on multi-arch and use official docker:dind
1 parent 083d122 commit 47e821f

File tree

4 files changed

+36
-19
lines changed

4 files changed

+36
-19
lines changed

tests/config.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ MONGODB_IMAGE='mongo'
66
MONGODB_TAG='latest'
77
MINIO_IMAGE='minio/minio'
88
MINIO_TAG='latest'
9-
DIND_IMAGE='jpetazzo/dind'
10-
DIND_TAG='latest'
9+
DIND_IMAGE='docker'
10+
DIND_TAG='dind'

tests/dind-runner.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,19 @@ echo ">> Using Temp Dockerfile: $DOCKERFILE"
1515

1616
cat << EOF > $DOCKERFILE
1717
FROM ${DIND_IMAGE}:${DIND_TAG}
18+
ENV DOCKER_HOST='unix:///var/run/docker.sock'
19+
RUN apk add bash
1820
ADD . /build/
1921
WORKDIR /build
22+
ENTRYPOINT ["/bin/bash"]
2023
CMD ["/build/tests/runner.sh"]
2124
EOF
2225

2326
echo ">> Building"
2427
docker build -f $DOCKERFILE -t $TEST_CONTAINER .
2528

2629
echo ">> Running"
27-
docker run --privileged -ti --rm $TEST_CONTAINER
30+
docker run --platform ${PLATFORM} --privileged -ti --rm $TEST_CONTAINER
2831

2932
echo ">> Removing"
3033
docker rmi $TEST_CONTAINER

tests/functions.sh

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,19 @@ CWD="$(dirname $0)/"
88

99
. ${CWD}config.sh
1010

11+
# Set docker platform
12+
case $(uname -m) in
13+
x86_64)
14+
PLATFORM="linux/amd64"
15+
;;
16+
aarch64|arm64)
17+
PLATFORM="linux/arm64/v8"
18+
;;
19+
*)
20+
PLATFORM="linux/$(uname -m)"
21+
;;
22+
esac
23+
1124
function rm_container {
1225
set +e
1326
docker rm -fv "$@" > /dev/null 2>&1
@@ -50,10 +63,12 @@ function wait_on_port {
5063

5164
function start_docker {
5265
echo "=> Starting docker"
53-
if ! docker version > /dev/null 2>&1; then
54-
wrapdocker > /dev/null 2>&1 &
55-
sleep 5
56-
fi
66+
dockerd-entrypoint.sh dockerd > /dev/null 2>&1 &
67+
while (! docker stats --no-stream &> /dev/null); do
68+
echo "Waiting for Docker daemon..."
69+
sleep 1
70+
done
71+
echo "Docker daemon is ready."
5772
}
5873

5974
function check_docker {
@@ -62,9 +77,8 @@ function check_docker {
6277
}
6378

6479
function check_environment {
65-
echo "=> Testing environment"
66-
docker version > /dev/null
67-
which curl > /dev/null
80+
echo "=> Checking environment"
81+
docker version > /dev/null || { echo "docker bad"; exit 1; }
6882
}
6983

7084
function build_image {

tests/test.sh

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,20 @@ CWD="$(dirname $0)/"
99
. ${CWD}functions.sh
1010

1111
echo "=> Test save command"
12-
docker run -d --name mongodb -p 27017:27017 ${MONGODB_IMAGE}:${MONGODB_TAG} > /dev/null
13-
docker run -d --name minio -p 9000:9000 ${MINIO_IMAGE}:${MINIO_TAG} server /data > /dev/null
14-
docker run --rm -i --link minio -e MC_HOST_minio=http://minioadmin:minioadmin@minio:9000 minio/mc:latest --quiet mb minio/backup
15-
docker run -i --name $TEST_NAME --link mongodb --link minio -e AWS_ACCESS_KEY_ID=minioadmin -e AWS_SECRET_ACCESS_KEY=minioadmin -e AWS_S3_ADDITIONAL_ARGS="--endpoint-url http://minio:9000" $TEST_CONTAINER save --host mongodb s3://backup
12+
docker run --platform ${PLATFORM} -d --name mongodb -p 27017:27017 ${MONGODB_IMAGE}:${MONGODB_TAG} > /dev/null
13+
docker run --platform ${PLATFORM} -d --name minio -p 9000:9000 ${MINIO_IMAGE}:${MINIO_TAG} server /data > /dev/null
14+
docker run --platform ${PLATFORM} --rm -i --link minio -e MC_HOST_minio=http://minioadmin:minioadmin@minio:9000 minio/mc:latest --quiet mb minio/backup
15+
docker run --platform ${PLATFORM} -i --name $TEST_NAME --link mongodb --link minio -e AWS_ACCESS_KEY_ID=minioadmin -e AWS_SECRET_ACCESS_KEY=minioadmin -e AWS_S3_ADDITIONAL_ARGS="--endpoint-url http://minio:9000" $TEST_CONTAINER save --host mongodb s3://backup
1616
cleanup mongodb minio $TEST_NAME
1717

1818
echo "=> Test load command"
1919
TMPDIR="/tmp/data.$$"
2020
mkdir -p ${TMPDIR}
21-
docker run -d --name mongodb -p 27017:27017 ${MONGODB_IMAGE}:${MONGODB_TAG} > /dev/null
22-
docker run -d --name minio -p 9000:9000 ${MINIO_IMAGE}:${MINIO_TAG} server /data > /dev/null
23-
docker run --rm -i --link minio -e MC_HOST_minio=http://minioadmin:minioadmin@minio:9000 minio/mc:latest --quiet mb minio/backup
24-
docker run -i --name ${TEST_NAME}-save --link mongodb --link minio -e AWS_ACCESS_KEY_ID=minioadmin -e AWS_SECRET_ACCESS_KEY=minioadmin -e AWS_S3_ADDITIONAL_ARGS="--endpoint-url http://minio:9000" $TEST_CONTAINER save --host mongodb s3://backup
25-
docker run -i --name ${TEST_NAME}-load --link mongodb --link minio -e AWS_ACCESS_KEY_ID=minioadmin -e AWS_SECRET_ACCESS_KEY=minioadmin -e AWS_S3_ADDITIONAL_ARGS="--endpoint-url http://minio:9000" $TEST_CONTAINER load --host mongodb s3://backup config newdb
21+
docker run --platform ${PLATFORM} -d --name mongodb -p 27017:27017 ${MONGODB_IMAGE}:${MONGODB_TAG} > /dev/null
22+
docker run --platform ${PLATFORM} -d --name minio -p 9000:9000 ${MINIO_IMAGE}:${MINIO_TAG} server /data > /dev/null
23+
docker run --platform ${PLATFORM} --rm -i --link minio -e MC_HOST_minio=http://minioadmin:minioadmin@minio:9000 minio/mc:latest --quiet mb minio/backup
24+
docker run --platform ${PLATFORM} -i --name ${TEST_NAME}-save --link mongodb --link minio -e AWS_ACCESS_KEY_ID=minioadmin -e AWS_SECRET_ACCESS_KEY=minioadmin -e AWS_S3_ADDITIONAL_ARGS="--endpoint-url http://minio:9000" $TEST_CONTAINER save --host mongodb s3://backup
25+
docker run --platform ${PLATFORM} -i --name ${TEST_NAME}-load --link mongodb --link minio -e AWS_ACCESS_KEY_ID=minioadmin -e AWS_SECRET_ACCESS_KEY=minioadmin -e AWS_S3_ADDITIONAL_ARGS="--endpoint-url http://minio:9000" $TEST_CONTAINER load --host mongodb s3://backup config newdb
2626
cleanup mongodb minio ${TEST_NAME}-save ${TEST_NAME}-load
2727
rm -rf ${TMPDIR}
2828
echo "=> Done"

0 commit comments

Comments
 (0)