Skip to content

Commit

Permalink
[docs-only] Some more details about the tests system, fix cs3org#1836
Browse files Browse the repository at this point in the history
  • Loading branch information
michielbdejong committed Jun 28, 2021
1 parent 9d29c36 commit ab87f64
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 &
Expand All @@ -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 \
Expand Down Expand Up @@ -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' \
Expand Down

0 comments on commit ab87f64

Please sign in to comment.