d691604080
Relates to https://github.com/shaarli/Shaarli/issues/843 Added: - Makefile target to run commands in a Docker test context - Docker images to run Shaarli test suites: - Alpine 3.6 - Debian 8 - Debian 9 - Ubuntu 16.04 - Documentation Signed-off-by: VirtualTam <virtualtam@flibidi.net>
1.6 KiB
1.6 KiB
Running tests inside Docker containers
Read first:
Docker test images
Test Dockerfiles are located under docker/tests/<distribution>/Dockerfile
,
and can be used to build Docker images to run Shaarli test suites under common
Linux environments.
Dockerfiles are provided for the following environments:
alpine36
- Alpine 3.6debian8
- Debian 8 Jessie (oldstable)debian9
- Debian 9 Stretch (stable)ubuntu16
- Ubuntu 16.04 Xenial Xerus (LTS)
What's behind the curtains:
- each image provides:
- a base Linux OS
- Shaarli PHP dependencies (OS packages)
- test PHP dependencies (OS packages)
- Composer
- the local workspace is mapped to the container's
/shaarli/
directory, - the files are rsync'd to so tests are run using a standard Linux user account
(running tests as
root
would bypass permission checks and may hide issues) - the tests are run inside the container.
Building test images
# build the Debian 9 Docker image
$ cd /path/to/shaarli
$ cd docker/test/debian9
$ docker build -t shaarli-test:debian9 .
Running tests
$ cd /path/to/shaarli
# install/update 3rd-party test dependencies
$ composer install --prefer-dist
# run tests using the freshly built image
$ docker run -v $PWD:/shaarli shaarli-test:debian9 docker_test
# run the full test campaign
$ docker run -v $PWD:/shaarli shaarli-test:debian9 docker_all_tests