2014-11-22 09:02:52 -05:00
|
|
|
[tox]
|
2023-03-28 17:02:33 -04:00
|
|
|
# mypy doesn't current pass for us on Windows. Fixing that is being tracked by
|
|
|
|
|
# https://github.com/certbot/certbot/issues/7803.
|
2023-04-15 20:30:59 -04:00
|
|
|
envlist = {cover,lint}-{win,posix},mypy
|
|
|
|
|
skipsdist = true
|
2016-01-19 12:22:53 -05:00
|
|
|
|
2017-05-08 14:54:12 -04:00
|
|
|
[base]
|
2023-04-15 20:30:59 -04:00
|
|
|
pytest = python -m pytest {posargs}
|
|
|
|
|
# Paths are listed on one line because tox seems to have inconsistent
|
2021-06-01 17:46:06 -04:00
|
|
|
# behavior with substitutions that contain line continuations, see
|
|
|
|
|
# https://github.com/tox-dev/tox/issues/2069 for more info.
|
2023-03-15 15:54:20 -04:00
|
|
|
source_paths = acme/acme certbot/certbot certbot-apache/certbot_apache certbot-ci/certbot_integration_tests certbot-ci/snap_integration_tests certbot-ci/windows_installer_integration_tests certbot-compatibility-test/certbot_compatibility_test certbot-dns-cloudflare/certbot_dns_cloudflare certbot-dns-digitalocean/certbot_dns_digitalocean certbot-dns-dnsimple/certbot_dns_dnsimple certbot-dns-dnsmadeeasy/certbot_dns_dnsmadeeasy certbot-dns-gehirn/certbot_dns_gehirn certbot-dns-google/certbot_dns_google certbot-dns-linode/certbot_dns_linode certbot-dns-luadns/certbot_dns_luadns certbot-dns-nsone/certbot_dns_nsone certbot-dns-ovh/certbot_dns_ovh certbot-dns-rfc2136/certbot_dns_rfc2136 certbot-dns-route53/certbot_dns_route53 certbot-dns-sakuracloud/certbot_dns_sakuracloud certbot-nginx/certbot_nginx
|
2017-05-08 14:54:12 -04:00
|
|
|
|
2017-06-21 16:50:48 -04:00
|
|
|
[testenv]
|
2021-07-29 14:25:25 -04:00
|
|
|
platform =
|
2022-04-18 17:40:46 -04:00
|
|
|
win: win32
|
|
|
|
|
posix: ^(?!.*win32).*$
|
2017-06-21 16:50:48 -04:00
|
|
|
setenv =
|
2019-01-31 15:57:49 -05:00
|
|
|
PYTEST_ADDOPTS = {env:PYTEST_ADDOPTS:--numprocesses auto}
|
2017-06-21 16:50:48 -04:00
|
|
|
PYTHONHASHSEED = 0
|
2023-04-15 20:30:59 -04:00
|
|
|
# The default install command is python -I -m pip install {opts} {packages}
|
|
|
|
|
install_command = python -I {toxinidir}/tools/pip_install.py {opts} {packages}
|
|
|
|
|
deps =
|
|
|
|
|
-e acme[test]
|
|
|
|
|
-e certbot[test]
|
|
|
|
|
!win: -e certbot-apache[dev]
|
|
|
|
|
-e certbot-dns-cloudflare
|
|
|
|
|
-e certbot-dns-digitalocean
|
|
|
|
|
-e certbot-dns-dnsimple
|
|
|
|
|
-e certbot-dns-dnsmadeeasy
|
|
|
|
|
-e certbot-dns-gehirn
|
|
|
|
|
-e certbot-dns-google
|
|
|
|
|
-e certbot-dns-linode
|
|
|
|
|
-e certbot-dns-luadns
|
|
|
|
|
-e certbot-dns-nsone
|
|
|
|
|
-e certbot-dns-ovh
|
|
|
|
|
-e certbot-dns-rfc2136
|
|
|
|
|
-e certbot-dns-route53
|
|
|
|
|
-e certbot-dns-sakuracloud
|
|
|
|
|
-e certbot-nginx
|
|
|
|
|
whitelist_externals =
|
|
|
|
|
echo
|
|
|
|
|
false
|
|
|
|
|
# This and the next few testenvs are a workaround for
|
|
|
|
|
# https://github.com/tox-dev/tox/issues/2858.
|
|
|
|
|
commands =
|
|
|
|
|
echo "Unrecognized environment name {envname}"
|
|
|
|
|
false
|
|
|
|
|
|
|
|
|
|
[testenv:py-win]
|
|
|
|
|
commands =
|
|
|
|
|
{[base]pytest} acme certbot certbot-dns-cloudflare certbot-dns-digitalocean certbot-dns-dnsimple certbot-dns-dnsmadeeasy certbot-dns-gehirn certbot-dns-google certbot-dns-linode certbot-dns-luadns certbot-dns-nsone certbot-dns-ovh certbot-dns-rfc2136 certbot-dns-route53 certbot-dns-sakuracloud certbot-nginx
|
|
|
|
|
|
|
|
|
|
[testenv:py{,-posix}]
|
|
|
|
|
# We want to test everything we do on Windows plus the Apache plugin.
|
|
|
|
|
commands =
|
|
|
|
|
{[testenv:py-win]commands} certbot-apache
|
|
|
|
|
|
2023-10-13 09:57:42 -04:00
|
|
|
[testenv:py3{,8,9,10,11}]
|
2023-04-15 20:30:59 -04:00
|
|
|
commands = {[testenv:py]commands}
|
|
|
|
|
|
2023-10-13 09:57:42 -04:00
|
|
|
[testenv:py3.{8,9,10,11}]
|
2023-04-15 20:30:59 -04:00
|
|
|
commands = {[testenv:py]commands}
|
2017-06-21 16:50:48 -04:00
|
|
|
|
Switch oldest tests to Python 3 (#8590)
Fixes https://github.com/certbot/certbot/issues/8580.
With this PR, it should now be possible to run the oldest tests natively on Linux, at least when using an older version of Python 3, which hasn't been possible in a long time. Unfortunately, this isn't possible on macOS which I opened https://github.com/certbot/certbot/issues/8589 to track.
You can see the full test suite running with these changes at https://dev.azure.com/certbot/certbot/_build/results?buildId=3283&view=results.
I took the version numbers for the packages I updated by searching for the oldest version of the dependency I think we should try and support based on the updated comments at the top of `oldest_constraints.txt`. While kind of annoying, I think it'd be a good idea for the reviewer to double check that I didn't make a mistake with the versions I used here.
To find these versions, I used https://packages.ubuntu.com, https://packages.debian.org, and a CentOS 7 Docker image with EPEL 7 installed. For the latter, not all packages are available in Python 3 yet (which is something Certbot's EPEL package maintainers are working on) and in that case I didn't worry about the system because I think they can/will package the newest version available. If they end up hitting any issues here when trying to package Certbot on Python 3, we can always work with them to fix it.
* remove py27 from oldest name
* update min cryptography version
* remove run_oldest_tests.sh
* upgrade setuptools and pyopenssl
* update cffi, pyparsing, and idna
* expand oldest_constraints comments
* clarify oldest comment
* update min configobj version
* update min parsedatetime version
* quote tox env name
* use Python 3.6 in the oldest tests
* use Python 3.6 for oldest integration tests
* properly pin asn1crypto
* update min six version
* set basepython for a nicer error message
* remove outdated python 2 oldest constraints
2021-01-25 15:59:14 -05:00
|
|
|
[testenv:oldest]
|
|
|
|
|
# Setting basepython allows the tests to fail fast if that version of Python
|
|
|
|
|
# isn't available instead of potentially trying to use a newer version of
|
|
|
|
|
# Python which is unlikely to work.
|
2021-07-22 15:00:30 -04:00
|
|
|
#
|
|
|
|
|
# This version should be kept in sync with the one declared in
|
|
|
|
|
# tools/pinning/oldest/pyproject.toml.
|
2023-10-13 09:57:42 -04:00
|
|
|
basepython = python3.8
|
2023-04-15 20:30:59 -04:00
|
|
|
setenv = CERTBOT_OLDEST=1
|
|
|
|
|
commands = {[testenv:py]commands}
|
2020-01-07 12:57:43 -05:00
|
|
|
|
2023-04-17 16:01:00 -04:00
|
|
|
[testenv:cover{,-posix}]
|
|
|
|
|
coverage_report = python -m coverage report
|
|
|
|
|
# These coverage report commands are used on both posix and windows
|
|
|
|
|
common_coverage_report_commands =
|
|
|
|
|
{[testenv:cover]coverage_report} --fail-under 99 --include certbot-dns-cloudflare/*
|
|
|
|
|
{[testenv:cover]coverage_report} --fail-under 99 --include certbot-dns-digitalocean/*
|
|
|
|
|
{[testenv:cover]coverage_report} --fail-under 99 --include certbot-dns-dnsimple/*
|
|
|
|
|
{[testenv:cover]coverage_report} --fail-under 99 --include certbot-dns-dnsmadeeasy/*
|
|
|
|
|
{[testenv:cover]coverage_report} --fail-under 99 --include certbot-dns-gehirn/*
|
|
|
|
|
{[testenv:cover]coverage_report} --fail-under 99 --include certbot-dns-google/*
|
|
|
|
|
{[testenv:cover]coverage_report} --fail-under 100 --include certbot-dns-linode/*
|
|
|
|
|
{[testenv:cover]coverage_report} --fail-under 99 --include certbot-dns-luadns/*
|
|
|
|
|
{[testenv:cover]coverage_report} --fail-under 99 --include certbot-dns-nsone/*
|
|
|
|
|
{[testenv:cover]coverage_report} --fail-under 98 --include certbot-dns-ovh/*
|
|
|
|
|
{[testenv:cover]coverage_report} --fail-under 99 --include certbot-dns-rfc2136/*
|
|
|
|
|
{[testenv:cover]coverage_report} --fail-under 94 --include certbot-dns-route53/*
|
|
|
|
|
{[testenv:cover]coverage_report} --fail-under 99 --include certbot-dns-sakuracloud/*
|
|
|
|
|
{[testenv:cover]coverage_report} --fail-under 98 --include certbot-nginx/*
|
|
|
|
|
commands =
|
|
|
|
|
{[testenv:py]commands} --cov --cov-report=
|
|
|
|
|
{[testenv:cover]coverage_report} --fail-under 100 --include acme/*
|
|
|
|
|
{[testenv:cover]coverage_report} --fail-under 95 --include certbot/*
|
|
|
|
|
{[testenv:cover]coverage_report} --fail-under 100 --include certbot-apache/*
|
|
|
|
|
{[testenv:cover]common_coverage_report_commands}
|
|
|
|
|
|
|
|
|
|
[testenv:cover-win]
|
|
|
|
|
commands =
|
|
|
|
|
{[testenv:py-win]commands} --cov --cov-report=
|
|
|
|
|
{[testenv:cover]coverage_report} --fail-under 99 --include acme/*
|
|
|
|
|
{[testenv:cover]coverage_report} --fail-under 96 --include certbot/*
|
|
|
|
|
{[testenv:cover]common_coverage_report_commands}
|
2018-03-05 12:50:19 -05:00
|
|
|
|
2023-04-15 20:30:59 -04:00
|
|
|
[testenv:lint{,-win,-posix}]
|
|
|
|
|
commands = python -m pylint --reports=n --rcfile=.pylintrc {[base]source_paths}
|
2018-03-05 12:50:19 -05:00
|
|
|
|
2023-04-15 20:30:59 -04:00
|
|
|
[testenv:mypy]
|
|
|
|
|
deps =
|
|
|
|
|
{[testenv]deps}
|
|
|
|
|
-e certbot-ci
|
|
|
|
|
commands = mypy {[base]source_paths}
|
2018-07-17 23:00:12 -04:00
|
|
|
|
2023-04-15 20:30:59 -04:00
|
|
|
[testenv:isolated-acme]
|
|
|
|
|
description = Tests acme without any Certbot components installed
|
|
|
|
|
deps = -e acme[test]
|
|
|
|
|
commands = {[base]pytest} acme
|
2022-12-19 16:38:04 -05:00
|
|
|
|
2023-04-15 20:30:59 -04:00
|
|
|
[testenv:isolated-certbot]
|
|
|
|
|
description = Tests Certbot without any additional plugins installed
|
|
|
|
|
deps =
|
|
|
|
|
{[testenv:isolated-acme]deps}
|
|
|
|
|
-e certbot[test]
|
|
|
|
|
commands = {[base]pytest} certbot
|
2015-12-16 22:52:35 -05:00
|
|
|
|
2023-04-15 20:30:59 -04:00
|
|
|
[testenv:isolated-{apache,cloudflare,digitalocean,dnsimple,dnsmadeeasy,gehirn,google,linode,luadns,nsone,ovh,rfc2136,route53,sakuracloud,nginx}]
|
|
|
|
|
description = Tests the plugin without installing any other plugins
|
|
|
|
|
deps =
|
|
|
|
|
{[testenv:isolated-certbot]deps}
|
|
|
|
|
apache: -e certbot-apache[dev]
|
|
|
|
|
cloudflare: -e certbot-dns-cloudflare
|
|
|
|
|
digitalocean: -e certbot-dns-digitalocean
|
|
|
|
|
dnsimple: -e certbot-dns-dnsimple
|
|
|
|
|
dnsmadeeasy: -e certbot-dns-dnsmadeeasy
|
|
|
|
|
gehirn: -e certbot-dns-gehirn
|
|
|
|
|
google: -e certbot-dns-google
|
|
|
|
|
linode: -e certbot-dns-linode
|
|
|
|
|
luadns: -e certbot-dns-luadns
|
|
|
|
|
nsone: -e certbot-dns-nsone
|
|
|
|
|
ovh: -e certbot-dns-ovh
|
|
|
|
|
rfc2136: -e certbot-dns-rfc2136
|
|
|
|
|
route53: -e certbot-dns-route53
|
|
|
|
|
sakuracloud: -e certbot-dns-sakuracloud
|
|
|
|
|
nginx: -e certbot-nginx
|
2017-03-18 22:10:10 -04:00
|
|
|
commands =
|
2023-04-15 20:30:59 -04:00
|
|
|
apache: {[base]pytest} certbot-apache
|
|
|
|
|
cloudflare: {[base]pytest} certbot-dns-cloudflare
|
|
|
|
|
digitalocean: {[base]pytest} certbot-dns-digitalocean
|
|
|
|
|
dnsimple: {[base]pytest} certbot-dns-dnsimple
|
|
|
|
|
dnsmadeeasy: {[base]pytest} certbot-dns-dnsmadeeasy
|
|
|
|
|
gehirn: {[base]pytest} certbot-dns-gehirn
|
|
|
|
|
google: {[base]pytest} certbot-dns-google
|
|
|
|
|
linode: {[base]pytest} certbot-dns-linode
|
|
|
|
|
luadns: {[base]pytest} certbot-dns-luadns
|
|
|
|
|
nsone: {[base]pytest} certbot-dns-nsone
|
|
|
|
|
ovh: {[base]pytest} certbot-dns-ovh
|
|
|
|
|
rfc2136: {[base]pytest} certbot-dns-rfc2136
|
|
|
|
|
route53: {[base]pytest} certbot-dns-route53
|
|
|
|
|
sakuracloud: {[base]pytest} certbot-dns-sakuracloud
|
|
|
|
|
nginx: {[base]pytest} certbot-nginx
|
2017-03-18 22:10:10 -04:00
|
|
|
|
2015-12-22 18:50:48 -05:00
|
|
|
[testenv:apacheconftest]
|
2023-04-15 20:30:59 -04:00
|
|
|
deps =
|
|
|
|
|
-e acme
|
|
|
|
|
-e certbot
|
|
|
|
|
-e certbot-apache
|
2015-12-16 22:52:35 -05:00
|
|
|
commands =
|
2023-03-28 17:55:44 -04:00
|
|
|
{toxinidir}/certbot-apache/certbot_apache/_internal/tests/apache-conf-files/apache-conf-test --debian-modules
|
2019-01-09 15:37:45 -05:00
|
|
|
passenv =
|
|
|
|
|
SERVER
|
|
|
|
|
|
2020-04-09 16:15:28 -04:00
|
|
|
[testenv:apacheconftest-external-with-pebble]
|
2023-04-15 20:30:59 -04:00
|
|
|
description = Run apacheconftest with pebble and Certbot outside of the tox virtual environment.
|
|
|
|
|
deps =
|
|
|
|
|
-e certbot-ci
|
2019-01-09 15:37:45 -05:00
|
|
|
commands =
|
2023-03-28 17:55:44 -04:00
|
|
|
{toxinidir}/certbot-apache/certbot_apache/_internal/tests/apache-conf-files/apache-conf-test-pebble.py --debian-modules
|
2016-04-10 14:44:28 -04:00
|
|
|
|
2020-04-09 16:15:28 -04:00
|
|
|
[testenv:apacheconftest-with-pebble]
|
2023-04-15 20:30:59 -04:00
|
|
|
deps =
|
|
|
|
|
{[testenv:apacheconftest]deps}
|
|
|
|
|
{[testenv:apacheconftest-external-with-pebble]deps}
|
|
|
|
|
commands = {[testenv:apacheconftest-external-with-pebble]commands}
|
2020-04-09 16:15:28 -04:00
|
|
|
|
2016-08-10 19:43:15 -04:00
|
|
|
[testenv:nginxroundtrip]
|
2023-04-15 20:30:59 -04:00
|
|
|
deps =
|
|
|
|
|
-e acme
|
|
|
|
|
-e certbot
|
|
|
|
|
-e certbot-apache
|
|
|
|
|
-e certbot-nginx
|
2016-08-10 19:43:15 -04:00
|
|
|
commands =
|
|
|
|
|
python certbot-compatibility-test/nginx/roundtrip.py certbot-compatibility-test/nginx/nginx-roundtrip-testdata
|
2016-01-08 16:55:52 -05:00
|
|
|
|
2016-10-28 18:05:25 -04:00
|
|
|
[testenv:modification]
|
2023-04-15 20:30:59 -04:00
|
|
|
deps =
|
2016-10-28 18:05:25 -04:00
|
|
|
commands =
|
2018-11-07 20:16:16 -05:00
|
|
|
python {toxinidir}/tests/modification-check.py
|
2016-10-28 18:05:25 -04:00
|
|
|
|
2016-08-10 19:33:56 -04:00
|
|
|
[testenv:apache_compat]
|
2023-04-15 20:30:59 -04:00
|
|
|
deps =
|
2016-08-10 19:33:56 -04:00
|
|
|
commands =
|
|
|
|
|
docker build -t certbot-compatibility-test -f certbot-compatibility-test/Dockerfile .
|
|
|
|
|
docker build -t apache-compat -f certbot-compatibility-test/Dockerfile-apache .
|
2020-07-02 18:01:21 -04:00
|
|
|
docker run --rm -t apache-compat -c apache.tar.gz -vvvv
|
2016-08-10 19:33:56 -04:00
|
|
|
whitelist_externals =
|
|
|
|
|
docker
|
2018-07-31 13:31:36 -04:00
|
|
|
passenv =
|
|
|
|
|
DOCKER_*
|
2016-08-10 19:33:56 -04:00
|
|
|
|
|
|
|
|
[testenv:nginx_compat]
|
2023-04-15 20:30:59 -04:00
|
|
|
deps =
|
2016-08-10 19:33:56 -04:00
|
|
|
commands =
|
|
|
|
|
docker build -t certbot-compatibility-test -f certbot-compatibility-test/Dockerfile .
|
|
|
|
|
docker build -t nginx-compat -f certbot-compatibility-test/Dockerfile-nginx .
|
2020-07-02 18:01:21 -04:00
|
|
|
docker run --rm -t nginx-compat -c nginx.tar.gz -vv -aie
|
2016-08-10 19:33:56 -04:00
|
|
|
whitelist_externals =
|
|
|
|
|
docker
|
2018-07-31 13:31:36 -04:00
|
|
|
passenv =
|
|
|
|
|
DOCKER_*
|
2016-11-10 16:15:17 -05:00
|
|
|
|
2019-03-01 16:18:06 -05:00
|
|
|
[testenv:integration]
|
2023-04-15 20:30:59 -04:00
|
|
|
deps =
|
|
|
|
|
-e acme
|
|
|
|
|
-e certbot
|
|
|
|
|
-e certbot-nginx
|
|
|
|
|
-e certbot-ci
|
2019-03-01 16:18:06 -05:00
|
|
|
commands =
|
2023-04-15 20:30:59 -04:00
|
|
|
{[base]pytest} certbot-ci/certbot_integration_tests \
|
2019-03-01 16:18:06 -05:00
|
|
|
--acme-server={env:ACME_SERVER:pebble} \
|
|
|
|
|
--cov=acme --cov=certbot --cov=certbot_nginx --cov-report= \
|
2019-05-14 16:56:32 -04:00
|
|
|
--cov-config=certbot-ci/certbot_integration_tests/.coveragerc
|
2019-09-06 17:30:25 -04:00
|
|
|
coverage report --include 'certbot/*' --show-missing --fail-under=65
|
[Unix] Create a framework for certbot integration tests: PART 4 (#6958)
This PR is the part 4 to implement #6541. It adds the integration tests for the nginx certbot plugin, and corresponds to the certbot-ci translation of certbot-nginx/tests/boulder-integration.sh that is executed for each PR.
As with certbot core tests, tests are written in Python, and executed by pytest, against a dynamic Boulder/Pebble instance setup. Tests are parallelized, of course, and a specific IntegrationTestsContext class, extended the one from certbot core tests, is crafter for these specific tests: its main goal is to setup a specific nginx instance for the current test.
On top of that, I use the test parametrization feature of Pytest, to drastically reduce the size of the actual code: indeed, the 6 tests from the original bash script share the same logic. So using a parametrization, one unique test is written, that is then executed 6 times against 6 different sets of parameters.
Note that the module integration_tests.nginx_tests.nginx_config do the same, but in Python, than certbot-nginx/tests/boulder-integration.conf.sh. The latter will be removed in a future PR, with all other bash scripts.
* Add nginx tests
* Distribute the other_port
* Load a pre-generated key/cert for nginx config
* Correct preload, remove a test, simplify a variable
* Integrate assertion directly in the test function
* Check process is not terminated
* Add spaces in the nginx config
* Add comments
* Use indirection
* Allow external cert
* Add coverage threshold for certbot-nginx
2019-04-23 16:29:48 -04:00
|
|
|
coverage report --include 'certbot-nginx/*' --show-missing --fail-under=74
|
2019-05-14 16:56:32 -04:00
|
|
|
passenv = DOCKER_*
|
|
|
|
|
|
2019-08-06 18:02:16 -04:00
|
|
|
[testenv:integration-certbot]
|
2023-04-15 20:30:59 -04:00
|
|
|
deps =
|
|
|
|
|
-e acme
|
|
|
|
|
-e certbot
|
|
|
|
|
-e certbot-ci
|
2019-08-06 18:02:16 -04:00
|
|
|
commands =
|
2023-04-15 20:30:59 -04:00
|
|
|
{[base]pytest} certbot-ci/certbot_integration_tests/certbot_tests \
|
2019-08-06 18:02:16 -04:00
|
|
|
--acme-server={env:ACME_SERVER:pebble} \
|
|
|
|
|
--cov=acme --cov=certbot --cov-report= \
|
|
|
|
|
--cov-config=certbot-ci/certbot_integration_tests/.coveragerc
|
|
|
|
|
coverage report --include 'certbot/*' --show-missing --fail-under=62
|
|
|
|
|
|
2020-11-17 03:27:27 -05:00
|
|
|
[testenv:integration-dns-rfc2136]
|
2023-04-15 20:30:59 -04:00
|
|
|
deps =
|
|
|
|
|
-e acme
|
|
|
|
|
-e certbot
|
|
|
|
|
-e certbot-dns-rfc2136
|
|
|
|
|
-e certbot-ci
|
2020-11-17 03:27:27 -05:00
|
|
|
commands =
|
2023-04-15 20:30:59 -04:00
|
|
|
{[base]pytest} certbot-ci/certbot_integration_tests/rfc2136_tests \
|
2020-11-17 03:27:27 -05:00
|
|
|
--acme-server=pebble --dns-server=bind \
|
2020-12-06 03:23:33 -05:00
|
|
|
--numprocesses=1 \
|
|
|
|
|
--cov=acme --cov=certbot --cov=certbot_dns_rfc2136 --cov-report= \
|
|
|
|
|
--cov-config=certbot-ci/certbot_integration_tests/.coveragerc
|
|
|
|
|
coverage report --include 'certbot/*' --show-missing --fail-under=45
|
2021-08-25 10:40:26 -04:00
|
|
|
coverage report --include 'certbot-dns-rfc2136/*' --show-missing --fail-under=86
|
2020-11-17 03:27:27 -05:00
|
|
|
|
2020-04-09 16:15:28 -04:00
|
|
|
[testenv:integration-external]
|
2023-04-15 20:30:59 -04:00
|
|
|
description = Run integration tests with Certbot outside of the tox virtual environment.
|
|
|
|
|
deps =
|
|
|
|
|
-e certbot-ci
|
2020-04-09 16:15:28 -04:00
|
|
|
commands =
|
2023-04-15 20:30:59 -04:00
|
|
|
{[base]pytest} certbot-ci/certbot_integration_tests \
|
2020-04-09 16:15:28 -04:00
|
|
|
--acme-server={env:ACME_SERVER:pebble}
|
|
|
|
|
passenv = DOCKER_*
|
|
|
|
|
|
2019-05-14 16:56:32 -04:00
|
|
|
[testenv:integration-certbot-oldest]
|
2023-04-15 20:30:59 -04:00
|
|
|
deps =
|
|
|
|
|
-e acme
|
|
|
|
|
-e certbot
|
|
|
|
|
-e certbot-ci
|
Switch oldest tests to Python 3 (#8590)
Fixes https://github.com/certbot/certbot/issues/8580.
With this PR, it should now be possible to run the oldest tests natively on Linux, at least when using an older version of Python 3, which hasn't been possible in a long time. Unfortunately, this isn't possible on macOS which I opened https://github.com/certbot/certbot/issues/8589 to track.
You can see the full test suite running with these changes at https://dev.azure.com/certbot/certbot/_build/results?buildId=3283&view=results.
I took the version numbers for the packages I updated by searching for the oldest version of the dependency I think we should try and support based on the updated comments at the top of `oldest_constraints.txt`. While kind of annoying, I think it'd be a good idea for the reviewer to double check that I didn't make a mistake with the versions I used here.
To find these versions, I used https://packages.ubuntu.com, https://packages.debian.org, and a CentOS 7 Docker image with EPEL 7 installed. For the latter, not all packages are available in Python 3 yet (which is something Certbot's EPEL package maintainers are working on) and in that case I didn't worry about the system because I think they can/will package the newest version available. If they end up hitting any issues here when trying to package Certbot on Python 3, we can always work with them to fix it.
* remove py27 from oldest name
* update min cryptography version
* remove run_oldest_tests.sh
* upgrade setuptools and pyopenssl
* update cffi, pyparsing, and idna
* expand oldest_constraints comments
* clarify oldest comment
* update min configobj version
* update min parsedatetime version
* quote tox env name
* use Python 3.6 in the oldest tests
* use Python 3.6 for oldest integration tests
* properly pin asn1crypto
* update min six version
* set basepython for a nicer error message
* remove outdated python 2 oldest constraints
2021-01-25 15:59:14 -05:00
|
|
|
basepython =
|
|
|
|
|
{[testenv:oldest]basepython}
|
2019-05-14 16:56:32 -04:00
|
|
|
commands =
|
2023-04-15 20:30:59 -04:00
|
|
|
{[base]pytest} certbot-ci/certbot_integration_tests/certbot_tests \
|
2019-05-14 16:56:32 -04:00
|
|
|
--acme-server={env:ACME_SERVER:pebble}
|
|
|
|
|
passenv = DOCKER_*
|
Switch oldest tests to Python 3 (#8590)
Fixes https://github.com/certbot/certbot/issues/8580.
With this PR, it should now be possible to run the oldest tests natively on Linux, at least when using an older version of Python 3, which hasn't been possible in a long time. Unfortunately, this isn't possible on macOS which I opened https://github.com/certbot/certbot/issues/8589 to track.
You can see the full test suite running with these changes at https://dev.azure.com/certbot/certbot/_build/results?buildId=3283&view=results.
I took the version numbers for the packages I updated by searching for the oldest version of the dependency I think we should try and support based on the updated comments at the top of `oldest_constraints.txt`. While kind of annoying, I think it'd be a good idea for the reviewer to double check that I didn't make a mistake with the versions I used here.
To find these versions, I used https://packages.ubuntu.com, https://packages.debian.org, and a CentOS 7 Docker image with EPEL 7 installed. For the latter, not all packages are available in Python 3 yet (which is something Certbot's EPEL package maintainers are working on) and in that case I didn't worry about the system because I think they can/will package the newest version available. If they end up hitting any issues here when trying to package Certbot on Python 3, we can always work with them to fix it.
* remove py27 from oldest name
* update min cryptography version
* remove run_oldest_tests.sh
* upgrade setuptools and pyopenssl
* update cffi, pyparsing, and idna
* expand oldest_constraints comments
* clarify oldest comment
* update min configobj version
* update min parsedatetime version
* quote tox env name
* use Python 3.6 in the oldest tests
* use Python 3.6 for oldest integration tests
* properly pin asn1crypto
* update min six version
* set basepython for a nicer error message
* remove outdated python 2 oldest constraints
2021-01-25 15:59:14 -05:00
|
|
|
setenv = {[testenv:oldest]setenv}
|
2019-05-14 16:56:32 -04:00
|
|
|
|
|
|
|
|
[testenv:integration-nginx-oldest]
|
2023-04-15 20:30:59 -04:00
|
|
|
deps =
|
|
|
|
|
-e acme
|
|
|
|
|
-e certbot
|
|
|
|
|
-e certbot-nginx
|
|
|
|
|
-e certbot-ci
|
Switch oldest tests to Python 3 (#8590)
Fixes https://github.com/certbot/certbot/issues/8580.
With this PR, it should now be possible to run the oldest tests natively on Linux, at least when using an older version of Python 3, which hasn't been possible in a long time. Unfortunately, this isn't possible on macOS which I opened https://github.com/certbot/certbot/issues/8589 to track.
You can see the full test suite running with these changes at https://dev.azure.com/certbot/certbot/_build/results?buildId=3283&view=results.
I took the version numbers for the packages I updated by searching for the oldest version of the dependency I think we should try and support based on the updated comments at the top of `oldest_constraints.txt`. While kind of annoying, I think it'd be a good idea for the reviewer to double check that I didn't make a mistake with the versions I used here.
To find these versions, I used https://packages.ubuntu.com, https://packages.debian.org, and a CentOS 7 Docker image with EPEL 7 installed. For the latter, not all packages are available in Python 3 yet (which is something Certbot's EPEL package maintainers are working on) and in that case I didn't worry about the system because I think they can/will package the newest version available. If they end up hitting any issues here when trying to package Certbot on Python 3, we can always work with them to fix it.
* remove py27 from oldest name
* update min cryptography version
* remove run_oldest_tests.sh
* upgrade setuptools and pyopenssl
* update cffi, pyparsing, and idna
* expand oldest_constraints comments
* clarify oldest comment
* update min configobj version
* update min parsedatetime version
* quote tox env name
* use Python 3.6 in the oldest tests
* use Python 3.6 for oldest integration tests
* properly pin asn1crypto
* update min six version
* set basepython for a nicer error message
* remove outdated python 2 oldest constraints
2021-01-25 15:59:14 -05:00
|
|
|
basepython =
|
|
|
|
|
{[testenv:oldest]basepython}
|
2019-05-14 16:56:32 -04:00
|
|
|
commands =
|
2023-04-15 20:30:59 -04:00
|
|
|
{[base]pytest} certbot-ci/certbot_integration_tests/nginx_tests \
|
2019-05-14 16:56:32 -04:00
|
|
|
--acme-server={env:ACME_SERVER:pebble}
|
|
|
|
|
passenv = DOCKER_*
|
Switch oldest tests to Python 3 (#8590)
Fixes https://github.com/certbot/certbot/issues/8580.
With this PR, it should now be possible to run the oldest tests natively on Linux, at least when using an older version of Python 3, which hasn't been possible in a long time. Unfortunately, this isn't possible on macOS which I opened https://github.com/certbot/certbot/issues/8589 to track.
You can see the full test suite running with these changes at https://dev.azure.com/certbot/certbot/_build/results?buildId=3283&view=results.
I took the version numbers for the packages I updated by searching for the oldest version of the dependency I think we should try and support based on the updated comments at the top of `oldest_constraints.txt`. While kind of annoying, I think it'd be a good idea for the reviewer to double check that I didn't make a mistake with the versions I used here.
To find these versions, I used https://packages.ubuntu.com, https://packages.debian.org, and a CentOS 7 Docker image with EPEL 7 installed. For the latter, not all packages are available in Python 3 yet (which is something Certbot's EPEL package maintainers are working on) and in that case I didn't worry about the system because I think they can/will package the newest version available. If they end up hitting any issues here when trying to package Certbot on Python 3, we can always work with them to fix it.
* remove py27 from oldest name
* update min cryptography version
* remove run_oldest_tests.sh
* upgrade setuptools and pyopenssl
* update cffi, pyparsing, and idna
* expand oldest_constraints comments
* clarify oldest comment
* update min configobj version
* update min parsedatetime version
* quote tox env name
* use Python 3.6 in the oldest tests
* use Python 3.6 for oldest integration tests
* properly pin asn1crypto
* update min six version
* set basepython for a nicer error message
* remove outdated python 2 oldest constraints
2021-01-25 15:59:14 -05:00
|
|
|
setenv = {[testenv:oldest]setenv}
|
2019-05-17 19:30:20 -04:00
|
|
|
|
2023-04-15 20:30:59 -04:00
|
|
|
[testenv:test-farm-apache2]
|
2019-05-17 19:30:20 -04:00
|
|
|
passenv =
|
|
|
|
|
AWS_*
|
|
|
|
|
setenv = AWS_DEFAULT_REGION=us-east-1
|
2023-04-15 20:30:59 -04:00
|
|
|
changedir = letstest
|
|
|
|
|
deps = -e {toxinidir}/letstest
|
|
|
|
|
commands = {toxinidir}/tools/retry.sh letstest targets/targets.yaml {env:AWS_EC2_PEM_FILE} SET_BY_ENV scripts/test_apache2.sh --repo {toxinidir}
|