From 3e1a399fe30c150c421e065bcd5dbb77ba558a77 Mon Sep 17 00:00:00 2001 From: Matthew Planchard Date: Tue, 26 Jun 2018 21:19:03 -0500 Subject: [PATCH] Add simple functional tests for docker --- .travis.yml | 46 ++++++++++++++++++++++++++++------------------ bin/test-docker.sh | 19 +++++++++++++++++++ 2 files changed, 47 insertions(+), 18 deletions(-) create mode 100755 bin/test-docker.sh diff --git a/.travis.yml b/.travis.yml index e284a81..b74ddc9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,21 +1,31 @@ -sudo: false -language: python -python: - - 2.7 - - 3.4 - - 3.5 - - 3.6 - - pypy - - pypy3 +jobs: + include: + - stage: test supported Python versions + sudo: false + language: python + python: + - 2.7 + - 3.4 + - 3.5 + - 3.6 + - pypy + - pypy3 -install: - - pip install -U setuptools pip sphinx tox tox-travis + install: + - pip install -U setuptools pip sphinx tox tox-travis -script: - - ./bin/test_standalone.sh - - tox - - ./bin/check_readme.sh + script: + - ./bin/test_standalone.sh + - tox + - ./bin/check_readme.sh -branches: - except: - - standalone + branches: + except: + - standalone + + - stage: test Docker image + sudo: required + services: + - docker + scirpt: + - bin/test-docker.sh diff --git a/bin/test-docker.sh b/bin/test-docker.sh new file mode 100755 index 0000000..7a36098 --- /dev/null +++ b/bin/test-docker.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env sh + +# Perform some simple validation to make sure the Docker image works +# Should be run from the repo root. + +set -xe # exit on any error, show debug output + +docker build . -t pypiserver:test + +docker run pypiserver:test --help + +CONTAINER_ID=$(docker run -d -p 8080:8080 pypiserver:test) + +sleep 5 # give the contaienr some time to get going + +# Ensure our home page is returning something +curl localhost:8080 | grep -q "pypiserver" + +docker container stop "$CONTAINER_ID"