From ab87f64b07cafebab5897168f9a3dc18d69de8e3 Mon Sep 17 00:00:00 2001 From: Michiel de Jong Date: Mon, 28 Jun 2021 17:14:05 +0200 Subject: [PATCH] [docs-only] Some more details about the tests system, fix #1836 --- README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/README.md b/README.md index 716a570a85c..4477f255f29 100644 --- a/README.md +++ b/README.md @@ -36,14 +36,27 @@ You can also read the [build from sources guide](https://reva.link/docs/getting- ## Run tests +Reva's codebase continuously undergoes testing at various levels. + +To understand which tests exist, you can have a look at the [Makefile](https://github.com/cs3org/reva/blob/master/Makefile) and the [Drone run logs](https://drone.cernbox.cern.ch/cs3org/reva/). + +The tests run by CERN's instance of [Drone CI/CD](https://docs.drone.io/) are defined in the [.drone.star](https://github.com/cs3org/reva/blob/master/.drone.star) file. + +NB: The [tests/oc-integration-tests/drone](https://github.com/cs3org/reva/tree/master/tests/oc-integration-tests/drone) and [tests/oc-integration-tests/local](https://github.com/cs3org/reva/tree/master/tests/oc-integration-tests/local) folders contain the configuration fixtures that are used to start up the Reva instance to test (on drone CI/CD or on your local system, respectively), for both these acceptance tests ("ownCloud legacy integration tests") and the Litmus tests. + ### unit tests / GRPC tests +See [tests/integration](https://github.com/cs3org/reva/tree/master/tests/integration). + `make test` If you see `TestGetManagerWithInvalidUser/Nil_in_user` fail, [try removing](https://github.com/cs3org/reva/issues/1736) `/etc/revad/users.json` on your system. ### litmus tests +[Litmus](http://www.webdav.org/neon/litmus/) is a webdav test suite. The litmus tests for Reva's WebDAV interface are run using the [ownCloud's litmus Docker image](https://github.com/owncloud-docker/litmus). The '-old' and '-new' refer to which `LITMUS_URL` environment variable is passed to that Docker image, in other words, which path on the Reva server the litmus tests are run against. + 1. start the needed services ``` + mkdir -p /var/tmp/reva/einstein cd tests/oc-integration-tests/local ../../../cmd/revad/revad -c frontend.toml & ../../../cmd/revad/revad -c gateway.toml & @@ -66,6 +79,8 @@ If you see `TestGetManagerWithInvalidUser/Nil_in_user` fail, [try removing](http - if on MacOS you see `FAIL (connection refused by '127.0.0.1' port 20080: Connection refused)`, it may be necessary to replace 'localhost' with your host IP address (e.g. `ipconfig getifaddr en0` or `sudo ifconfig | grep 192`) ### ownCloud legacy integration tests +See [tests/acceptance](https://github.com/cs3org/reva/tree/master/tests/acceptance). + 1. start an LDAP server ``` docker run --rm --hostname ldap.my-company.com \ @@ -102,6 +117,8 @@ If you see `TestGetManagerWithInvalidUser/Nil_in_user` fail, [try removing](http 6. run the tests ``` cd testrunner + # if on Ubuntu, for instance: + apt install php-xml php-curl composer TEST_SERVER_URL='http://localhost:20080' \ OCIS_REVA_DATA_ROOT='/var/tmp/reva/' \ SKELETON_DIR='./apps/testing/data/apiSkeleton' \