# Docker file for creating a docker container that can run the tests. # # Create the image: # docker build -t chasquid-test -f test/Dockerfile . # # Run the tests: # docker run --rm chasquid-test make test # # Get a shell inside the image (for debugging): # docker run -it --entrypoint=/bin/bash chasquid-test FROM golang:latest WORKDIR /go/src/blitiri.com.ar/go/chasquid COPY . . # Make debconf/frontend non-interactive, to avoid distracting output about the # lack of $TERM. ENV DEBIAN_FRONTEND noninteractive # Install the basics for the integration tests. RUN apt-get update -q RUN apt-get install -y -q python3 msmtp # Packages for the (optional) dovecot integration test. RUN apt-get install -y -q gettext-base dovecot-imapd # Packages for the (optional) exim integration test. RUN apt-get install -y -q exim4-daemon-light RUN cd test/t-02-exim && mkdir -p .exim4 && ln -s /usr/sbin/exim4 .exim4/ # Packages for the (optional) TLS tracking test. RUN apt-get install -y -q dnsmasq RUN go get -d ./... RUN go install ./... # Don't run the tests as root: it makes some integration tests more difficult, # as for example Exim has hard-coded protections against running as root. RUN useradd -m chasquid RUN chown -R chasquid:chasquid . USER chasquid # Tests expect the $USER variable set. ENV USER chasquid