diff options
| author | Andreas Politz <politza@hochschule-trier.de> | 2017-09-10 10:10:50 +0200 |
|---|---|---|
| committer | Andreas Politz <politza@hochschule-trier.de> | 2017-09-10 10:13:00 +0200 |
| commit | 1835a5d9fc2fc944c0554504d978d3eaaddd23b7 (patch) | |
| tree | 42da82937517d1aa9d6d9a39f76a373aafae7957 /server/test | |
| parent | bd843ca3f7569d435673e67ed1dc1513a9d3776f (diff) | |
Add docker tests for the autobuild script
Diffstat (limited to 'server/test')
| -rw-r--r-- | server/test/Makefile | 49 | ||||
| -rw-r--r-- | server/test/docker/lib/yes-or-enter | 9 | ||||
| -rw-r--r-- | server/test/docker/templates/Dockerfile.in | 4 | ||||
| -rw-r--r-- | server/test/docker/templates/arch.Dockerfile.in | 6 | ||||
| -rw-r--r-- | server/test/docker/templates/centos-7.Dockerfile.in | 3 | ||||
| -rw-r--r-- | server/test/docker/templates/debian-8.Dockerfile.in | 4 | ||||
| -rw-r--r-- | server/test/docker/templates/debian-9.Dockerfile.in | 4 | ||||
| -rw-r--r-- | server/test/docker/templates/fedora-24.Dockerfile.in | 5 | ||||
| -rw-r--r-- | server/test/docker/templates/fedora-25.Dockerfile.in | 5 | ||||
| -rw-r--r-- | server/test/docker/templates/fedora-26.Dockerfile.in | 5 | ||||
| -rw-r--r-- | server/test/docker/templates/ubuntu-14.Dockerfile.in | 4 | ||||
| -rw-r--r-- | server/test/docker/templates/ubuntu-16.Dockerfile.in | 4 | ||||
| -rw-r--r-- | server/test/docker/templates/ubuntu-17.Dockerfile.in | 4 |
13 files changed, 106 insertions, 0 deletions
diff --git a/server/test/Makefile b/server/test/Makefile new file mode 100644 index 0000000..7069c6b --- /dev/null +++ b/server/test/Makefile @@ -0,0 +1,49 @@ +# +-----------------------------------------------------------+ +# * Docker tests for the autobuild script +# +-----------------------------------------------------------+ + +# List of available OS. +DOCKER_OS = $(patsubst %.Dockerfile.in, %, \ + $(notdir $(wildcard docker/templates/*.Dockerfile.in))) + +# Arguments to pass to docker build . +DOCKER_BUILD_ARGS = -q + +# Advice make not to delete these "intermediate" files. +.PRECIOUS: docker/%.Dockerfile docker/.%.build + +.PHONY: all test check docker/build + +all: docker/test +test: docker/test +check: docker/test + +# Create the Dockerfile +docker/%.Dockerfile: docker/templates/%.Dockerfile.in \ + docker/templates/Dockerfile.in + @echo Creating Dockerfile for target $* + cat $^ > $@ + +# Build the Dockerfile +docker/.%.build: docker/%.Dockerfile ../autobuild docker/lib + @echo Building target $* + docker build $(DOCKER_BUILD_ARGS) -t epdfinfo/$* -f $< ../ + touch $@ + +# Run the Dockerfile +docker/%: docker/.%.build + @echo Running tests on target $* + docker run epdfinfo/$* + +# Run all Dockerfiles +docker/test: docker/build $(patsubst %, docker/%, $(DOCKER_OS)) + +# Build all Dockerfiles +docker/build: $(patsubst %, docker/.%.build, $(DOCKER_OS)) + +clean: + rm -f -- docker/.[^.]*.build + rm -f -- docker/*.Dockerfile + +print: + @for os in $(DOCKER_OS); do echo $$os; done | sort diff --git a/server/test/docker/lib/yes-or-enter b/server/test/docker/lib/yes-or-enter new file mode 100644 index 0000000..b19cc5a --- /dev/null +++ b/server/test/docker/lib/yes-or-enter @@ -0,0 +1,9 @@ +#!/bin/bash + +# Step over prompts from the package-manager. +if [ -f /etc/arch-release ]; then + yes '' +else + yes +fi + diff --git a/server/test/docker/templates/Dockerfile.in b/server/test/docker/templates/Dockerfile.in new file mode 100644 index 0000000..f1a9c1e --- /dev/null +++ b/server/test/docker/templates/Dockerfile.in @@ -0,0 +1,4 @@ +ADD . /epdfinfo +WORKDIR /epdfinfo +RUN make -s distclean || true +CMD ["sh", "-c", "sh test/docker/lib/yes-or-enter | ./autobuild"] diff --git a/server/test/docker/templates/arch.Dockerfile.in b/server/test/docker/templates/arch.Dockerfile.in new file mode 100644 index 0000000..50e6658 --- /dev/null +++ b/server/test/docker/templates/arch.Dockerfile.in @@ -0,0 +1,6 @@ +# -*- dockerfile -*- +FROM base/archlinux +RUN pacman -Syu --noconfirm --noprogressbar && \ + pacman -S --noconfirm --noprogressbar poppler-glib base-devel + + diff --git a/server/test/docker/templates/centos-7.Dockerfile.in b/server/test/docker/templates/centos-7.Dockerfile.in new file mode 100644 index 0000000..62f2eb4 --- /dev/null +++ b/server/test/docker/templates/centos-7.Dockerfile.in @@ -0,0 +1,3 @@ +# -*- dockerfile -*- +FROM centos:7 +RUN yum update -y && yum install -y gcc gcc-c++ poppler-glib-devel diff --git a/server/test/docker/templates/debian-8.Dockerfile.in b/server/test/docker/templates/debian-8.Dockerfile.in new file mode 100644 index 0000000..adcc6d3 --- /dev/null +++ b/server/test/docker/templates/debian-8.Dockerfile.in @@ -0,0 +1,4 @@ +# -*- dockerfile -*- +FROM debian:8 +RUN apt-get update -y && apt-get install -y gcc g++ libpoppler-glib-dev + diff --git a/server/test/docker/templates/debian-9.Dockerfile.in b/server/test/docker/templates/debian-9.Dockerfile.in new file mode 100644 index 0000000..1f4ece7 --- /dev/null +++ b/server/test/docker/templates/debian-9.Dockerfile.in @@ -0,0 +1,4 @@ +# -*- dockerfile -*- +FROM debian:9 +RUN apt-get update -y && apt-get install -y gcc g++ libpoppler-glib-dev + diff --git a/server/test/docker/templates/fedora-24.Dockerfile.in b/server/test/docker/templates/fedora-24.Dockerfile.in new file mode 100644 index 0000000..a2490ad --- /dev/null +++ b/server/test/docker/templates/fedora-24.Dockerfile.in @@ -0,0 +1,5 @@ +# -*- dockerfile -*- +FROM fedora:24 +RUN dnf update -y && dnf install -y gcc gcc-c++ poppler-glib-devel + + diff --git a/server/test/docker/templates/fedora-25.Dockerfile.in b/server/test/docker/templates/fedora-25.Dockerfile.in new file mode 100644 index 0000000..6f5f8c2 --- /dev/null +++ b/server/test/docker/templates/fedora-25.Dockerfile.in @@ -0,0 +1,5 @@ +# -*- dockerfile -*- +FROM fedora:25 +RUN dnf update -y && dnf install -y gcc gcc-c++ poppler-glib-devel + + diff --git a/server/test/docker/templates/fedora-26.Dockerfile.in b/server/test/docker/templates/fedora-26.Dockerfile.in new file mode 100644 index 0000000..8c43d1d --- /dev/null +++ b/server/test/docker/templates/fedora-26.Dockerfile.in @@ -0,0 +1,5 @@ +# -*- dockerfile -*- +FROM fedora:26 +RUN dnf update -y && dnf install -y gcc gcc-c++ poppler-glib-devel + + diff --git a/server/test/docker/templates/ubuntu-14.Dockerfile.in b/server/test/docker/templates/ubuntu-14.Dockerfile.in new file mode 100644 index 0000000..1c9aaa7 --- /dev/null +++ b/server/test/docker/templates/ubuntu-14.Dockerfile.in @@ -0,0 +1,4 @@ +# -*- dockerfile -*- +FROM ubuntu:trusty +RUN apt-get update -y && apt-get install -y gcc g++ libpoppler-glib-dev + diff --git a/server/test/docker/templates/ubuntu-16.Dockerfile.in b/server/test/docker/templates/ubuntu-16.Dockerfile.in new file mode 100644 index 0000000..e7d477e --- /dev/null +++ b/server/test/docker/templates/ubuntu-16.Dockerfile.in @@ -0,0 +1,4 @@ +# -*- dockerfile -*- +FROM ubuntu:xenial +RUN apt-get update -y && apt-get install -y gcc g++ libpoppler-glib-dev + diff --git a/server/test/docker/templates/ubuntu-17.Dockerfile.in b/server/test/docker/templates/ubuntu-17.Dockerfile.in new file mode 100644 index 0000000..bf2dc3d --- /dev/null +++ b/server/test/docker/templates/ubuntu-17.Dockerfile.in @@ -0,0 +1,4 @@ +# -*- dockerfile -*- +FROM ubuntu:artful +RUN apt-get update -y && apt-get install -y gcc g++ libpoppler-glib-dev + |
