mirror of
https://github.com/certbot/certbot.git
synced 2026-06-07 15:52:08 -04:00
Merge pull request #499 from kuba/integration-testing
Integration testing
This commit is contained in:
commit
db1558a16c
3 changed files with 51 additions and 9 deletions
23
.travis.yml
23
.travis.yml
|
|
@ -3,19 +3,24 @@ language: python
|
|||
# http://docs.travis-ci.com/user/ci-environment/#CI-environment-OS
|
||||
before_install: travis_retry sudo ./bootstrap/ubuntu.sh
|
||||
|
||||
install: "travis_retry pip install tox coveralls"
|
||||
script: "travis_retry tox"
|
||||
|
||||
after_success: '[ "$TOXENV" == "cover" ] && coveralls'
|
||||
|
||||
# using separate envs with different TOXENVs creates 4x1 Travis build
|
||||
# matrix, which allows us to clearly distinguish which component under
|
||||
# test has failed
|
||||
env:
|
||||
- TOXENV=py26
|
||||
- TOXENV=py27
|
||||
- TOXENV=lint
|
||||
- TOXENV=cover
|
||||
global:
|
||||
- GOPATH=/tmp/go
|
||||
matrix:
|
||||
- TOXENV=py26
|
||||
- TOXENV=py27
|
||||
- TOXENV=lint
|
||||
- TOXENV=cover
|
||||
|
||||
install: "travis_retry pip install tox coveralls"
|
||||
before_script: '[ "${TOXENV:0:2}" != "py" ] || ./tests/boulder-start.sh'
|
||||
# TODO: eliminate substring slice bashism
|
||||
script: 'travis_retry tox && ([ "${TOXENV:0:2}" != "py" ] || (source .tox/$TOXENV/bin/activate && ./tests/boulder-integration.sh))'
|
||||
|
||||
after_success: '[ "$TOXENV" == "cover" ] && coveralls'
|
||||
|
||||
notifications:
|
||||
email: false
|
||||
|
|
|
|||
22
tests/boulder-integration.sh
Executable file
22
tests/boulder-integration.sh
Executable file
|
|
@ -0,0 +1,22 @@
|
|||
#!/bin/sh -xe
|
||||
# Simple integration test, make sure to activate virtualenv beforehand
|
||||
# (source venv/bin/activate) and that you are running Boulder test
|
||||
# instance (see ./boulder-start.sh).
|
||||
|
||||
root="$(mktemp -d)"
|
||||
echo "\nRoot integration tests directory: $root"
|
||||
|
||||
# first three flags required, rest is handy defaults
|
||||
letsencrypt \
|
||||
--server http://localhost:4000/acme/new-reg \
|
||||
--no-verify-ssl \
|
||||
--dvsni-port 5001 \
|
||||
--config-dir "$root/conf" \
|
||||
--work-dir "$root/work" \
|
||||
--text \
|
||||
--agree-eula \
|
||||
--email "" \
|
||||
--domains le.wtf \
|
||||
--authenticator standalone \
|
||||
-vvvvvvv \
|
||||
auth
|
||||
15
tests/boulder-start.sh
Executable file
15
tests/boulder-start.sh
Executable file
|
|
@ -0,0 +1,15 @@
|
|||
#!/bin/sh -xe
|
||||
# Download and run Boulder instance for integration testing
|
||||
|
||||
export GOPATH="${GOPATH:-/tmp/go}"
|
||||
|
||||
# $ go get github.com/letsencrypt/boulder
|
||||
# package github.com/letsencrypt/boulder
|
||||
# imports github.com/letsencrypt/boulder
|
||||
# imports github.com/letsencrypt/boulder: no buildable Go source files in /tmp/go/src/github.com/letsencrypt/boulder
|
||||
|
||||
go get -d github.com/letsencrypt/boulder/cmd/boulder
|
||||
cd $GOPATH/src/github.com/letsencrypt/boulder
|
||||
make -j4 # Travis has 2 cores per build instance.
|
||||
./start.sh &
|
||||
# Hopefully start.sh bootstraps before integration test is started...
|
||||
Loading…
Reference in a new issue