diff --git a/NEWS b/NEWS index 2bbd7541..9badeacc 100644 --- a/NEWS +++ b/NEWS @@ -10,6 +10,8 @@ * #655: Fix error when databases are configured and a source directory doesn't exist. * Add code style plugins to enforce use of Python f-strings and prevent single-letter variables. To join in the pedantry, refresh your test environment with "tox --recreate". + * Rename scripts/run-full-dev-tests to scripts/run-end-to-end-dev-tests and make it run end-to-end + tests only. Continue using tox to run unit and integration tests. 1.7.9 * #295: Add a SQLite database dump/restore hook. diff --git a/docs/how-to/develop-on-borgmatic.md b/docs/how-to/develop-on-borgmatic.md index fbc1d244..d4315457 100644 --- a/docs/how-to/develop-on-borgmatic.md +++ b/docs/how-to/develop-on-borgmatic.md @@ -87,7 +87,7 @@ If you would like to run the full test suite, first install Docker and [Docker Compose](https://docs.docker.com/compose/install/). Then run: ```bash -scripts/run-full-dev-tests +scripts/run-end-to-end-dev-tests ``` Note that this scripts assumes you have permission to run Docker. If you diff --git a/scripts/run-full-dev-tests b/scripts/run-end-to-end-dev-tests similarity index 100% rename from scripts/run-full-dev-tests rename to scripts/run-end-to-end-dev-tests diff --git a/scripts/run-full-tests b/scripts/run-full-tests index 58e5ac65..cbd824ce 100755 --- a/scripts/run-full-tests +++ b/scripts/run-full-tests @@ -3,12 +3,12 @@ # This script installs test dependencies and runs all tests, including end-to-end tests. It # is designed to run inside a test container, and presumes that other test infrastructure like # databases are already running. Therefore, on a developer machine, you should not run this script -# directly. Instead, run scripts/run-full-dev-tests +# directly. Instead, run scripts/run-end-to-end-dev-tests # # For more information, see: # https://torsion.org/borgmatic/docs/how-to/develop-on-borgmatic/ -set -e +set -ex apk add --no-cache python3 py3-pip borgbackup postgresql-client mariadb-client mongodb-tools \ py3-ruamel.yaml py3-ruamel.yaml.clib bash sqlite @@ -17,5 +17,9 @@ apk add --no-cache py3-typed-ast py3-regex || true python3 -m pip install --no-cache --upgrade pip==22.2.2 setuptools==64.0.1 pip3 install --ignore-installed tox==3.25.1 export COVERAGE_FILE=/tmp/.coverage -tox --workdir /tmp/.tox --sitepackages + +if [ "$1" != "--end-to-end-only" ] ; then + tox --workdir /tmp/.tox --sitepackages +fi + tox --workdir /tmp/.tox --sitepackages -e end-to-end diff --git a/tests/end-to-end/docker-compose.yaml b/tests/end-to-end/docker-compose.yaml index 094ac8d3..090cf12c 100644 --- a/tests/end-to-end/docker-compose.yaml +++ b/tests/end-to-end/docker-compose.yaml @@ -23,8 +23,8 @@ services: - "/app/borgmatic.egg-info" tty: true working_dir: /app - command: - - /app/scripts/run-full-tests + entrypoint: /app/scripts/run-full-tests + command: --end-to-end-only depends_on: - postgresql - mysql