From 1b4f665d9972bae3fd5bf3adba04b768c7aaaff3 Mon Sep 17 00:00:00 2001 From: Benjamin Bouvier Date: Wed, 18 Sep 2024 16:45:33 +0200 Subject: [PATCH] integration tests: update instructions (#4017) - explain what these tests are - mention that it's sometimes needed to rebuild the synapse image --------- Signed-off-by: Benjamin Bouvier Co-authored-by: Ivan Enderlin --- .../matrix-sdk-integration-testing/README.md | 36 +++++++++++++++---- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/testing/matrix-sdk-integration-testing/README.md b/testing/matrix-sdk-integration-testing/README.md index 8a03072ce..76c31754d 100644 --- a/testing/matrix-sdk-integration-testing/README.md +++ b/testing/matrix-sdk-integration-testing/README.md @@ -1,9 +1,13 @@ # Matrix SDK integration test +This set of tests requires a Synapse instance, and it runs the tests from this directory against +this real-world server. As a result, these tests depend on the load of the machine/server, and as +such they might be more sensitive to timing issues than other tests in the code base. + ## Requirements -This requires a synapse backend with a ci patched configuration. You can easily get -it up and running with `docker compose` via: +This requires a synapse backend with a configuration patched for CI. You can get it up and running +with `docker compose` via: ```sh docker compose -f assets/docker-compose.yml up -d @@ -13,8 +17,8 @@ docker compose -f assets/docker-compose.yml logs --tail 100 -f Note that this works also with `podman compose`. **Patches** -You can see the patches we do to configuration (namely activate registration and -resetting rate limits), check out what `assets/ci-start.sh` changes. +You can see the patches we do to configuration (namely activate registration and resetting rate +limits, enable a few experimental features), check out what `assets/ci-start.sh` changes. ## Running @@ -22,12 +26,30 @@ The integration tests can be run with `cargo test` or `cargo nextest run`. The integration tests expect the environment variables `HOMESERVER_URL` to be the HTTP URL to access the synapse server and `HOMESERVER_DOMAIN` to be set to the domain configured in -that server. If you are using the provided `docker-compose.yml`, the default will be fine. +that server. These variables are set to a default value that matches the default `docker-compose.yml` +template; if you haven't touched it, you don't need to manually set those environment variables. ## Maintenance -To drop the database of your docker compose run: +### Delete all instance data + +To stop the services and drop the database of your docker-compose cluster, run: ```bash -docker compose -f assets/docker-compose.yml down --volumes +docker compose -f assets/docker-compose.yml down --volumes --remove-orphan -t 0 +``` + +### Rebuild the synapse image + +If the Synapse image has been updated in version, you may need to rebuild the custom Synapse image +using the following: + +```bash +docker compose -f assets/docker-compose.yml build --pull synapse +``` + +Then restart the synapse service: + +```bash +docker compose -f assets/docker-compose.yml up -d synapse ```