diff options
| -rw-r--r-- | server/test/.gitignore | 1 | ||||
| -rw-r--r-- | server/test/Makefile | 6 | ||||
| -rwxr-xr-x | server/test/docker/lib/run-tests | 21 | ||||
| -rw-r--r-- | server/test/docker/templates/Dockerfile.common.in | 6 | ||||
| -rw-r--r-- | server/test/docker/templates/emacs-26.Dockerfile.in | 5 | ||||
| -rw-r--r-- | server/test/docker/templates/emacs-27.Dockerfile.in | 5 | ||||
| -rw-r--r-- | server/test/docker/templates/emacs-28.Dockerfile.in | 5 | ||||
| -rw-r--r-- | server/test/docker/templates/emacs-29.Dockerfile.in | 5 |
8 files changed, 46 insertions, 8 deletions
diff --git a/server/test/.gitignore b/server/test/.gitignore new file mode 100644 index 0000000..aaedb1f --- /dev/null +++ b/server/test/.gitignore @@ -0,0 +1 @@ +.start-vm diff --git a/server/test/Makefile b/server/test/Makefile index 303b9a1..26a0f36 100644 --- a/server/test/Makefile +++ b/server/test/Makefile @@ -39,10 +39,10 @@ docker/%.Dockerfile: docker/templates/%.Dockerfile.in \ @echo Creating Dockerfile for target $* cat $^ > $@ -# Build the Docker Image +# Build the Docker Image. Since we are building a new image, remove the existing container. docker/.%.build: docker/%.Dockerfile ../autobuild docker/lib @echo Building target image $* - podman image build $(DOCKER_BUILD_ARGS) epdfinfo/$* -f $< ../ + podman image build $(DOCKER_BUILD_ARGS) epdfinfo/$* -f $< ../../ touch $@ # Build the Docker Container @@ -68,6 +68,8 @@ docker/.%.clean: docker/clean: $(patsubst %, docker/.%.clean, $(DOCKER_OS)) +test: docker/test + clean: docker/clean rm -f -- docker/.[^.]*.build rm -f -- docker/.[^.]*.container diff --git a/server/test/docker/lib/run-tests b/server/test/docker/lib/run-tests index 43fe5e5..31887bf 100755 --- a/server/test/docker/lib/run-tests +++ b/server/test/docker/lib/run-tests @@ -2,8 +2,23 @@ PATH="$(dirname "$0")":$PATH -set -e +run_tests_exit_success() +{ + echo "===============================" + echo " Elisp Tests succeeded. :O) " + echo "===============================" + exit 0 +} -yes-or-enter | ./autobuild -i /bin -yes-or-enter | ./autobuild -i /usr/bin | \ +set -e +# Check that install completes successfully +yes-or-enter | ./server/autobuild -i /bin +# Check that re-install skips package installation +yes-or-enter | ./server/autobuild -i /usr/bin | \ grep -q "Skipping package installation (already installed)" +# Check that lisp tests run correctly, if emacs is installed and available on PATH +echo +if which emacs > /dev/null 2> /dev/null; then + echo "Emacs found installed! Running elisp tests" + make test && run_tests_exit_success +fi diff --git a/server/test/docker/templates/Dockerfile.common.in b/server/test/docker/templates/Dockerfile.common.in index 083b19a..142f062 100644 --- a/server/test/docker/templates/Dockerfile.common.in +++ b/server/test/docker/templates/Dockerfile.common.in @@ -1,4 +1,4 @@ -ADD . /epdfinfo -WORKDIR /epdfinfo +COPY . /pdf-tools +WORKDIR /pdf-tools RUN make -s distclean || true -CMD ["sh", "./test/docker/lib/run-tests"] +CMD ["sh", "./server/test/docker/lib/run-tests"] diff --git a/server/test/docker/templates/emacs-26.Dockerfile.in b/server/test/docker/templates/emacs-26.Dockerfile.in new file mode 100644 index 0000000..088a991 --- /dev/null +++ b/server/test/docker/templates/emacs-26.Dockerfile.in @@ -0,0 +1,5 @@ +# -*- dockerfile -*- +FROM silex/emacs:26-ci-cask +ARG DEBIAN_FRONTEND=noninteractive +# Need to install make, tzdata here to avoid stupid prompts when running package install via autobuild +RUN apt-get update -y && apt-get install -y make tzdata diff --git a/server/test/docker/templates/emacs-27.Dockerfile.in b/server/test/docker/templates/emacs-27.Dockerfile.in new file mode 100644 index 0000000..50cd820 --- /dev/null +++ b/server/test/docker/templates/emacs-27.Dockerfile.in @@ -0,0 +1,5 @@ +# -*- dockerfile -*- +FROM silex/emacs:27-ci-cask +ARG DEBIAN_FRONTEND=noninteractive +# Need to install make, tzdata here to avoid stupid prompts when running package install via autobuild +RUN apt-get update -y && apt-get install -y make tzdata diff --git a/server/test/docker/templates/emacs-28.Dockerfile.in b/server/test/docker/templates/emacs-28.Dockerfile.in new file mode 100644 index 0000000..c6895ac --- /dev/null +++ b/server/test/docker/templates/emacs-28.Dockerfile.in @@ -0,0 +1,5 @@ +# -*- dockerfile -*- +FROM silex/emacs:28-ci-cask +ARG DEBIAN_FRONTEND=noninteractive +# Need to install make, tzdata here to avoid stupid prompts when running package install via autobuild +RUN apt-get update -y && apt-get install -y make tzdata diff --git a/server/test/docker/templates/emacs-29.Dockerfile.in b/server/test/docker/templates/emacs-29.Dockerfile.in new file mode 100644 index 0000000..edbf764 --- /dev/null +++ b/server/test/docker/templates/emacs-29.Dockerfile.in @@ -0,0 +1,5 @@ +# -*- dockerfile -*- +FROM silex/emacs:master-ci-cask +ARG DEBIAN_FRONTEND=noninteractive +# Need to install make, tzdata here to avoid stupid prompts when running package install via autobuild +RUN apt-get update -y && apt-get install -y make tzdata |
