diff options
-rw-r--r-- | .gitlab-ci.yml | 6 | ||||
-rw-r--r-- | README.rst | 49 | ||||
-rw-r--r-- | docs/benchmarks.rst | 1 | ||||
-rw-r--r-- | docs/tests.rst | 3 | ||||
-rw-r--r-- | pytest.ini (renamed from testing/pytest.ini) | 1 | ||||
-rw-r--r-- | requirements-testing.pip | 1 | ||||
-rw-r--r-- | scripts/docker/Dockerfile (renamed from testing/docker/Dockerfile) | 0 | ||||
-rwxr-xr-x | scripts/testing/check-pysqlcipher.py (renamed from testing/check-pysqlcipher.py) | 0 | ||||
-rwxr-xr-x | scripts/testing/ensure-pysqlcipher-has-usleep.sh (renamed from testing/ensure-pysqlcipher-has-usleep.sh) | 0 | ||||
-rw-r--r-- | testing/README | 21 | ||||
-rw-r--r-- | testing/requirements-testing.pip | 3 | ||||
-rw-r--r-- | testing/setup.py | 9 | ||||
-rw-r--r-- | tests/benchmarks/README.md (renamed from testing/tests/benchmarks/README.md) | 0 | ||||
-rw-r--r-- | tests/benchmarks/assets/cert_default.conf (renamed from testing/tests/benchmarks/assets/cert_default.conf) | 0 | ||||
-rw-r--r-- | tests/benchmarks/conftest.py (renamed from testing/tests/benchmarks/conftest.py) | 0 | ||||
-rw-r--r-- | tests/benchmarks/pytest.ini (renamed from testing/tests/benchmarks/pytest.ini) | 0 | ||||
-rw-r--r-- | tests/benchmarks/test_crypto.py (renamed from testing/tests/benchmarks/test_crypto.py) | 0 | ||||
-rw-r--r-- | tests/benchmarks/test_legacy_vs_blobs.py (renamed from testing/tests/benchmarks/test_legacy_vs_blobs.py) | 0 | ||||
-rw-r--r-- | tests/benchmarks/test_misc.py (renamed from testing/tests/benchmarks/test_misc.py) | 0 | ||||
-rw-r--r-- | tests/benchmarks/test_resources.py (renamed from testing/tests/benchmarks/test_resources.py) | 0 | ||||
-rw-r--r-- | tests/benchmarks/test_sqlcipher.py (renamed from testing/tests/benchmarks/test_sqlcipher.py) | 0 | ||||
-rw-r--r-- | tests/benchmarks/test_sqlite_blobs_backend.py (renamed from testing/tests/benchmarks/test_sqlite_blobs_backend.py) | 0 | ||||
-rw-r--r-- | tests/benchmarks/test_sync.py (renamed from testing/tests/benchmarks/test_sync.py) | 0 | ||||
-rw-r--r-- | tests/blobs/test_blob_manager.py (renamed from testing/tests/blobs/test_blob_manager.py) | 0 | ||||
-rw-r--r-- | tests/blobs/test_decrypter_buffer.py (renamed from testing/tests/blobs/test_decrypter_buffer.py) | 0 | ||||
-rw-r--r-- | tests/blobs/test_fs_backend.py (renamed from testing/tests/blobs/test_fs_backend.py) | 0 | ||||
-rw-r--r-- | tests/blobs/test_sqlcipher_client_backend.py (renamed from testing/tests/blobs/test_sqlcipher_client_backend.py) | 0 | ||||
-rw-r--r-- | tests/client/__init__.py (renamed from testing/tests/client/__init__.py) | 0 | ||||
-rw-r--r-- | tests/client/test_api.py (renamed from testing/tests/client/test_api.py) | 0 | ||||
-rw-r--r-- | tests/client/test_app.py (renamed from testing/tests/client/test_app.py) | 0 | ||||
-rw-r--r-- | tests/client/test_attachments.py (renamed from testing/tests/client/test_attachments.py) | 0 | ||||
-rw-r--r-- | tests/client/test_aux_methods.py (renamed from testing/tests/client/test_aux_methods.py) | 0 | ||||
-rw-r--r-- | tests/client/test_crypto.py (renamed from testing/tests/client/test_crypto.py) | 0 | ||||
-rw-r--r-- | tests/client/test_deprecated_crypto.py (renamed from testing/tests/client/test_deprecated_crypto.py) | 0 | ||||
-rw-r--r-- | tests/client/test_doc.py (renamed from testing/tests/client/test_doc.py) | 0 | ||||
-rw-r--r-- | tests/client/test_http.py (renamed from testing/tests/client/test_http.py) | 0 | ||||
-rw-r--r-- | tests/client/test_https.py (renamed from testing/tests/client/test_https.py) | 0 | ||||
-rw-r--r-- | tests/client/test_incoming_processing_flow.py (renamed from testing/tests/client/test_incoming_processing_flow.py) | 0 | ||||
-rw-r--r-- | tests/client/test_recovery_code.py (renamed from testing/tests/client/test_recovery_code.py) | 0 | ||||
-rw-r--r-- | tests/client/test_secrets.py (renamed from testing/tests/client/test_secrets.py) | 0 | ||||
-rw-r--r-- | tests/client/test_shared_db.py (renamed from testing/tests/client/test_shared_db.py) | 0 | ||||
-rw-r--r-- | tests/client/test_signals.py (renamed from testing/tests/client/test_signals.py) | 0 | ||||
l--------- | tests/client/test_soledad | 1 | ||||
-rw-r--r-- | tests/client/test_soledad_doc.py (renamed from testing/tests/client/test_soledad_doc.py) | 0 | ||||
-rw-r--r-- | tests/conftest.py (renamed from testing/tests/conftest.py) | 0 | ||||
-rw-r--r-- | tests/couch/__init__.py (renamed from testing/tests/couch/__init__.py) | 0 | ||||
-rw-r--r-- | tests/couch/common.py (renamed from testing/tests/couch/common.py) | 0 | ||||
-rw-r--r-- | tests/couch/test_atomicity.py (renamed from testing/tests/couch/test_atomicity.py) | 0 | ||||
-rw-r--r-- | tests/couch/test_backend.py (renamed from testing/tests/couch/test_backend.py) | 0 | ||||
-rw-r--r-- | tests/couch/test_command.py (renamed from testing/tests/couch/test_command.py) | 0 | ||||
-rw-r--r-- | tests/couch/test_ddocs.py (renamed from testing/tests/couch/test_ddocs.py) | 0 | ||||
l--------- | tests/couch/test_soledad | 1 | ||||
-rw-r--r-- | tests/couch/test_state.py (renamed from testing/tests/couch/test_state.py) | 0 | ||||
-rw-r--r-- | tests/couch/test_sync.py (renamed from testing/tests/couch/test_sync.py) | 0 | ||||
-rw-r--r-- | tests/couch/test_sync_target.py (renamed from testing/tests/couch/test_sync_target.py) | 0 | ||||
-rw-r--r-- | tests/pipes/test_pipes.py (renamed from testing/tests/pipes/test_pipes.py) | 0 | ||||
-rw-r--r-- | tests/responsiveness/conftest.py (renamed from testing/tests/responsiveness/conftest.py) | 0 | ||||
-rw-r--r-- | tests/responsiveness/elastic.py (renamed from testing/tests/responsiveness/elastic.py) | 0 | ||||
-rw-r--r-- | tests/responsiveness/test_responsiveness.py (renamed from testing/tests/responsiveness/test_responsiveness.py) | 0 | ||||
-rw-r--r-- | tests/responsiveness/watchdog.py (renamed from testing/tests/responsiveness/watchdog.py) | 0 | ||||
-rw-r--r-- | tests/server/__init__.py (renamed from testing/tests/server/__init__.py) | 0 | ||||
-rw-r--r-- | tests/server/test__resource.py (renamed from testing/tests/server/test__resource.py) | 0 | ||||
-rw-r--r-- | tests/server/test__server_info.py (renamed from testing/tests/server/test__server_info.py) | 0 | ||||
-rw-r--r-- | tests/server/test_auth.py (renamed from testing/tests/server/test_auth.py) | 0 | ||||
-rw-r--r-- | tests/server/test_blobs_resource_validation.py (renamed from testing/tests/server/test_blobs_resource_validation.py) | 0 | ||||
-rw-r--r-- | tests/server/test_blobs_server.py (renamed from testing/tests/server/test_blobs_server.py) | 0 | ||||
-rw-r--r-- | tests/server/test_config.py (renamed from testing/tests/server/test_config.py) | 0 | ||||
-rw-r--r-- | tests/server/test_incoming_flow_integration.py (renamed from testing/tests/server/test_incoming_flow_integration.py) | 0 | ||||
-rw-r--r-- | tests/server/test_incoming_resource.py (renamed from testing/tests/server/test_incoming_resource.py) | 0 | ||||
-rw-r--r-- | tests/server/test_incoming_server.py (renamed from testing/tests/server/test_incoming_server.py) | 0 | ||||
-rw-r--r-- | tests/server/test_server.py (renamed from testing/tests/server/test_server.py) | 0 | ||||
-rw-r--r-- | tests/server/test_session.py (renamed from testing/tests/server/test_session.py) | 0 | ||||
-rw-r--r-- | tests/server/test_shared_db.py (renamed from testing/tests/server/test_shared_db.py) | 0 | ||||
l--------- | tests/server/test_soledad | 1 | ||||
-rw-r--r-- | tests/server/test_tac.py (renamed from testing/tests/server/test_tac.py) | 0 | ||||
-rw-r--r-- | tests/server/test_url_mapper.py (renamed from testing/tests/server/test_url_mapper.py) | 0 | ||||
-rw-r--r-- | tests/sqlcipher/hacker_crackdown.txt (renamed from testing/tests/sqlcipher/hacker_crackdown.txt) | 0 | ||||
-rw-r--r-- | tests/sqlcipher/test_async.py (renamed from testing/tests/sqlcipher/test_async.py) | 0 | ||||
-rw-r--r-- | tests/sqlcipher/test_backend.py (renamed from testing/tests/sqlcipher/test_backend.py) | 0 | ||||
l--------- | tests/sqlcipher/test_soledad | 1 | ||||
-rw-r--r-- | tests/sync/__init__.py (renamed from testing/tests/sync/__init__.py) | 0 | ||||
l--------- | tests/sync/test_soledad | 1 | ||||
-rw-r--r-- | tests/sync/test_sqlcipher_sync.py (renamed from testing/tests/sync/test_sqlcipher_sync.py) | 0 | ||||
-rw-r--r-- | tests/sync/test_sync.py (renamed from testing/tests/sync/test_sync.py) | 0 | ||||
-rw-r--r-- | tests/sync/test_sync_mutex.py (renamed from testing/tests/sync/test_sync_mutex.py) | 0 | ||||
-rw-r--r-- | tests/sync/test_sync_target.py (renamed from testing/tests/sync/test_sync_target.py) | 0 | ||||
-rw-r--r-- | tests/test_soledad/__init__.py (renamed from testing/test_soledad/__init__.py) | 0 | ||||
-rw-r--r-- | tests/test_soledad/fixture_soledad.conf (renamed from testing/test_soledad/fixture_soledad.conf) | 0 | ||||
-rw-r--r-- | tests/test_soledad/u1db_tests/README (renamed from testing/test_soledad/u1db_tests/README) | 0 | ||||
-rw-r--r-- | tests/test_soledad/u1db_tests/__init__.py (renamed from testing/test_soledad/u1db_tests/__init__.py) | 0 | ||||
-rw-r--r-- | tests/test_soledad/u1db_tests/test_backends.py (renamed from testing/test_soledad/u1db_tests/test_backends.py) | 0 | ||||
-rw-r--r-- | tests/test_soledad/u1db_tests/test_document.py (renamed from testing/test_soledad/u1db_tests/test_document.py) | 0 | ||||
-rw-r--r-- | tests/test_soledad/u1db_tests/test_http_client.py (renamed from testing/test_soledad/u1db_tests/test_http_client.py) | 0 | ||||
-rw-r--r-- | tests/test_soledad/u1db_tests/test_http_database.py (renamed from testing/test_soledad/u1db_tests/test_http_database.py) | 0 | ||||
-rw-r--r-- | tests/test_soledad/u1db_tests/test_https.py (renamed from testing/test_soledad/u1db_tests/test_https.py) | 0 | ||||
-rw-r--r-- | tests/test_soledad/u1db_tests/test_open.py (renamed from testing/test_soledad/u1db_tests/test_open.py) | 0 | ||||
-rw-r--r-- | tests/test_soledad/u1db_tests/testing-certs/Makefile (renamed from testing/test_soledad/u1db_tests/testing-certs/Makefile) | 0 | ||||
-rw-r--r-- | tests/test_soledad/u1db_tests/testing-certs/cacert.pem (renamed from testing/test_soledad/u1db_tests/testing-certs/cacert.pem) | 0 | ||||
-rw-r--r-- | tests/test_soledad/u1db_tests/testing-certs/testing.cert (renamed from testing/test_soledad/u1db_tests/testing-certs/testing.cert) | 0 | ||||
-rw-r--r-- | tests/test_soledad/u1db_tests/testing-certs/testing.key (renamed from testing/test_soledad/u1db_tests/testing-certs/testing.key) | 0 | ||||
-rw-r--r-- | tests/test_soledad/util.py (renamed from testing/test_soledad/util.py) | 0 | ||||
-rw-r--r-- | tox.ini (renamed from testing/tox.ini) | 19 |
102 files changed, 48 insertions, 70 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d284d65d..ad0f2abb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -16,7 +16,7 @@ cache: untracked: true key: soledad-shared-pip-cache paths: - - testing/.cache/ + - .cache/ before_script: - echo "Running on ${HOST_HOSTNAME:=$(hostname)}" @@ -47,7 +47,6 @@ code-check: stage: code-check image: 0xacab.org:4567/leap/soledad:latest script: - - cd testing - tox -e code-check tests: @@ -56,7 +55,6 @@ tests: services: - couchdb script: - - cd testing - tox -- --couch-url http://couchdb:5984 benchmark: @@ -70,7 +68,6 @@ benchmark: - git checkout -B "$CI_COMMIT_REF_NAME" "$CI_COMMIT_SHA" - '[ -n "${BENCHMARK_ALL_COMMITS}" ] && git checkout origin/master scripts/benchmark/setup-all-commits-env.sh' - '[ -n "${BENCHMARK_ALL_COMMITS}" ] && ./scripts/benchmark/setup-all-commits-env.sh' - - cd testing - curl -s couchdb:5984 # You can provide a $NETRC variable containing the creds for your # elasticsearch instance so it's protected from being leaked in the @@ -94,7 +91,6 @@ responsiveness: - couchdb script: - git checkout -B "$CI_COMMIT_REF_NAME" "$CI_COMMIT_SHA" - - cd testing - curl -s couchdb:5984 - echo "addopts=--elasticsearch-url=\"$ELASTICSEARCH_URL\"" >> pytest.ini && chmod 600 pytest.ini - /usr/bin/unbuffer tox --recreate -e responsiveness -- --couch-url http://couchdb:5984 | /usr/bin/ts -s @@ -30,6 +30,7 @@ The server depends on CouchDB:: pip install ".[server]" + Compatibility ------------- @@ -40,27 +41,45 @@ Compatibility that platform version implements ephemeral tokens databases and Soledad Server needs to act accordingly. +* Upgrades of Soledad Server < 0.9.0 to >= 0.9.0 need database migration + because older code used to use CouchDB's design documents, while newer code + got rid of that because it made everything cpu and memory hungry. See `the + documentation + <http://soledad.readthedocs.io/en/latest/migrations.html#soledad-server-0-8-to-0-9-couch-database-schema-migration-needed>`_ + for more information. + Tests ----- -System dependencies:: +Soledad's test suite depends on `tox <https://tox.readthedocs.io/en/latest/>`_, +which creates virtual environments and installs all needed dependencies to run +tests. Currently, some tests also depend on availability of a `CouchDB`_ server +(see :ref:`dependency-on-couchdb` for more information). + +Once you have both *tox* and *CouchDB* installed in your system, just run the +``tox`` command in the root of the repository to get started running tests. - python3-venv +.. _dependency-on-couchdb: -Install local dependencies:: +--------------------- +Dependency on CouchDB +--------------------- - $ cd testing - $ pyvenv test-env - $ source test-env/bin/activate - $ pip3 install -U -r requirements-testing.pip +Currently, some tests depend on availability of a CouchDB server. This will +change in the future and only integration tests will depend on CouchDB. -Soledad tests use tox, and they live in the testing folder:: +By default, tests will try to access couch at ``http://127.0.0.1:5984/``. If +you have a CouchDB server running elsewhere, you can pass a custom url to +*pytest* by using the ``--couch-url`` option after two dashes (``--``) when +running tox:: - $ tox + tox -- --couch-url http://couch_host:5984 -Note that to run CouchDB tests, be sure you have `CouchDB`_ installed on your -system. +Tests that depend on couchdb are marked as such with the ``needs_couch`` pytest +marker. You can skip them by avoiding tests with that marker:: + + tox -- -m 'not needs_couch' .. _`CouchDB`: https://couchdb.apache.org/ @@ -70,7 +89,7 @@ In order to prevent privilege escalation, Soledad should not be run as a database administrator. This implies the following side effects: ----------------- -Database creation: +Database creation ----------------- Can be done via a script located in ``pkg/server/soledad-create-userdb`` @@ -91,9 +110,9 @@ then use a parameter called 'create_cmd' to know which command is used to allocate new databases. All steps of creation process is then handled automatically by the server, following the same logic as u1db server. ------------------- -Database deletion: ------------------- +----------------- +Database deletion +----------------- No code at all handles this and privilege to do so needs to be removed as explained before. This can be automated via a simple cron job. diff --git a/docs/benchmarks.rst b/docs/benchmarks.rst index 5338fdee..25e39ae7 100644 --- a/docs/benchmarks.rst +++ b/docs/benchmarks.rst @@ -9,7 +9,6 @@ to write tests to assess the time and resources taken by various tasks. To run benchmark tests, once inside a cloned Soledad repository, do the following:: - cd testing/ tox -e benchmark Results of automated benchmarking for each commit in the repository can be seen diff --git a/docs/tests.rst b/docs/tests.rst index 8a412701..72e2d087 100644 --- a/docs/tests.rst +++ b/docs/tests.rst @@ -11,7 +11,6 @@ couchdb server to be run against. If you do have a couchdb server running on localhost on default port, the following command should be enough to run tests:: - cd testing tox CouchDB dependency @@ -20,13 +19,11 @@ CouchDB dependency In case you want to use a couchdb on another host or port, use the `--couch-url` parameter for `pytest`:: - cd testing tox -- --couch-url=http://couch_host:5984 If you want to exclude all tests that depend on couchdb, deselect tests marked with `needs_couch`:: - cd testing tox -- -m 'not needs_couch' Benchmark tests diff --git a/testing/pytest.ini b/pytest.ini index eb70b67c..70497c51 100644 --- a/testing/pytest.ini +++ b/pytest.ini @@ -1,3 +1,4 @@ [pytest] testpaths = tests +norecursedirs = test_soledad twisted = yes diff --git a/requirements-testing.pip b/requirements-testing.pip new file mode 100644 index 00000000..053148f8 --- /dev/null +++ b/requirements-testing.pip @@ -0,0 +1 @@ +tox diff --git a/testing/docker/Dockerfile b/scripts/docker/Dockerfile index 2dea3ec8..2dea3ec8 100644 --- a/testing/docker/Dockerfile +++ b/scripts/docker/Dockerfile diff --git a/testing/check-pysqlcipher.py b/scripts/testing/check-pysqlcipher.py index 4202b13b..4202b13b 100755 --- a/testing/check-pysqlcipher.py +++ b/scripts/testing/check-pysqlcipher.py diff --git a/testing/ensure-pysqlcipher-has-usleep.sh b/scripts/testing/ensure-pysqlcipher-has-usleep.sh index d3d93d86..d3d93d86 100755 --- a/testing/ensure-pysqlcipher-has-usleep.sh +++ b/scripts/testing/ensure-pysqlcipher-has-usleep.sh diff --git a/testing/README b/testing/README deleted file mode 100644 index 94be7250..00000000 --- a/testing/README +++ /dev/null @@ -1,21 +0,0 @@ -Soledad Tests -============= - -This folder contains all tests for Soledad client and server. - -Dependency on CouchDB ---------------------- - -Currently, some tests depend on availability of a CouchDB server. You can pass -a custom couchdb url by using the --couch-url option when running tox (or -pytest), like this: - - tox -- --couch-url http://couch_host:5984 - -Tests that depend on couchdb are marked as such with the 'needs_couch' pytest -marker. You can skip them by avoiding tests with that marker: - - tox -- -m 'not needs_couch' - -In the future we want to isolate all tests that need couch as integration -tests, and use mocks everywhere else. diff --git a/testing/requirements-testing.pip b/testing/requirements-testing.pip deleted file mode 100644 index a80b1b34..00000000 --- a/testing/requirements-testing.pip +++ /dev/null @@ -1,3 +0,0 @@ -pip -tox -pytest-twisted diff --git a/testing/setup.py b/testing/setup.py deleted file mode 100644 index c1204c9a..00000000 --- a/testing/setup.py +++ /dev/null @@ -1,9 +0,0 @@ -from setuptools import setup -from setuptools import find_packages - - -setup( - name='test_soledad', - packages=find_packages('.'), - package_data={'': ['*.conf', 'u1db_tests/testing-certs/*']} -) diff --git a/testing/tests/benchmarks/README.md b/tests/benchmarks/README.md index b2465a78..b2465a78 100644 --- a/testing/tests/benchmarks/README.md +++ b/tests/benchmarks/README.md diff --git a/testing/tests/benchmarks/assets/cert_default.conf b/tests/benchmarks/assets/cert_default.conf index 8043cea3..8043cea3 100644 --- a/testing/tests/benchmarks/assets/cert_default.conf +++ b/tests/benchmarks/assets/cert_default.conf diff --git a/testing/tests/benchmarks/conftest.py b/tests/benchmarks/conftest.py index 80eccb08..80eccb08 100644 --- a/testing/tests/benchmarks/conftest.py +++ b/tests/benchmarks/conftest.py diff --git a/testing/tests/benchmarks/pytest.ini b/tests/benchmarks/pytest.ini index 7a0508ce..7a0508ce 100644 --- a/testing/tests/benchmarks/pytest.ini +++ b/tests/benchmarks/pytest.ini diff --git a/testing/tests/benchmarks/test_crypto.py b/tests/benchmarks/test_crypto.py index 3be447a5..3be447a5 100644 --- a/testing/tests/benchmarks/test_crypto.py +++ b/tests/benchmarks/test_crypto.py diff --git a/testing/tests/benchmarks/test_legacy_vs_blobs.py b/tests/benchmarks/test_legacy_vs_blobs.py index 47d6482c..47d6482c 100644 --- a/testing/tests/benchmarks/test_legacy_vs_blobs.py +++ b/tests/benchmarks/test_legacy_vs_blobs.py diff --git a/testing/tests/benchmarks/test_misc.py b/tests/benchmarks/test_misc.py index 8b2178b9..8b2178b9 100644 --- a/testing/tests/benchmarks/test_misc.py +++ b/tests/benchmarks/test_misc.py diff --git a/testing/tests/benchmarks/test_resources.py b/tests/benchmarks/test_resources.py index 173edbd1..173edbd1 100644 --- a/testing/tests/benchmarks/test_resources.py +++ b/tests/benchmarks/test_resources.py diff --git a/testing/tests/benchmarks/test_sqlcipher.py b/tests/benchmarks/test_sqlcipher.py index 9108084c..9108084c 100644 --- a/testing/tests/benchmarks/test_sqlcipher.py +++ b/tests/benchmarks/test_sqlcipher.py diff --git a/testing/tests/benchmarks/test_sqlite_blobs_backend.py b/tests/benchmarks/test_sqlite_blobs_backend.py index e02cacad..e02cacad 100644 --- a/testing/tests/benchmarks/test_sqlite_blobs_backend.py +++ b/tests/benchmarks/test_sqlite_blobs_backend.py diff --git a/testing/tests/benchmarks/test_sync.py b/tests/benchmarks/test_sync.py index 45506d77..45506d77 100644 --- a/testing/tests/benchmarks/test_sync.py +++ b/tests/benchmarks/test_sync.py diff --git a/testing/tests/blobs/test_blob_manager.py b/tests/blobs/test_blob_manager.py index 7d985768..7d985768 100644 --- a/testing/tests/blobs/test_blob_manager.py +++ b/tests/blobs/test_blob_manager.py diff --git a/testing/tests/blobs/test_decrypter_buffer.py b/tests/blobs/test_decrypter_buffer.py index 83fbaad3..83fbaad3 100644 --- a/testing/tests/blobs/test_decrypter_buffer.py +++ b/tests/blobs/test_decrypter_buffer.py diff --git a/testing/tests/blobs/test_fs_backend.py b/tests/blobs/test_fs_backend.py index 53f3127d..53f3127d 100644 --- a/testing/tests/blobs/test_fs_backend.py +++ b/tests/blobs/test_fs_backend.py diff --git a/testing/tests/blobs/test_sqlcipher_client_backend.py b/tests/blobs/test_sqlcipher_client_backend.py index daf561c7..daf561c7 100644 --- a/testing/tests/blobs/test_sqlcipher_client_backend.py +++ b/tests/blobs/test_sqlcipher_client_backend.py diff --git a/testing/tests/client/__init__.py b/tests/client/__init__.py index e69de29b..e69de29b 100644 --- a/testing/tests/client/__init__.py +++ b/tests/client/__init__.py diff --git a/testing/tests/client/test_api.py b/tests/client/test_api.py index 3c6a8155..3c6a8155 100644 --- a/testing/tests/client/test_api.py +++ b/tests/client/test_api.py diff --git a/testing/tests/client/test_app.py b/tests/client/test_app.py index 6867473e..6867473e 100644 --- a/testing/tests/client/test_app.py +++ b/tests/client/test_app.py diff --git a/testing/tests/client/test_attachments.py b/tests/client/test_attachments.py index 2df5b90d..2df5b90d 100644 --- a/testing/tests/client/test_attachments.py +++ b/tests/client/test_attachments.py diff --git a/testing/tests/client/test_aux_methods.py b/tests/client/test_aux_methods.py index 1eb676c7..1eb676c7 100644 --- a/testing/tests/client/test_aux_methods.py +++ b/tests/client/test_aux_methods.py diff --git a/testing/tests/client/test_crypto.py b/tests/client/test_crypto.py index 5b647b73..5b647b73 100644 --- a/testing/tests/client/test_crypto.py +++ b/tests/client/test_crypto.py diff --git a/testing/tests/client/test_deprecated_crypto.py b/tests/client/test_deprecated_crypto.py index 939a2003..939a2003 100644 --- a/testing/tests/client/test_deprecated_crypto.py +++ b/tests/client/test_deprecated_crypto.py diff --git a/testing/tests/client/test_doc.py b/tests/client/test_doc.py index 36479e90..36479e90 100644 --- a/testing/tests/client/test_doc.py +++ b/tests/client/test_doc.py diff --git a/testing/tests/client/test_http.py b/tests/client/test_http.py index 47df4b4a..47df4b4a 100644 --- a/testing/tests/client/test_http.py +++ b/tests/client/test_http.py diff --git a/testing/tests/client/test_https.py b/tests/client/test_https.py index 1b6caed6..1b6caed6 100644 --- a/testing/tests/client/test_https.py +++ b/tests/client/test_https.py diff --git a/testing/tests/client/test_incoming_processing_flow.py b/tests/client/test_incoming_processing_flow.py index 7bc1e3c6..7bc1e3c6 100644 --- a/testing/tests/client/test_incoming_processing_flow.py +++ b/tests/client/test_incoming_processing_flow.py diff --git a/testing/tests/client/test_recovery_code.py b/tests/client/test_recovery_code.py index 7bbccc41..7bbccc41 100644 --- a/testing/tests/client/test_recovery_code.py +++ b/tests/client/test_recovery_code.py diff --git a/testing/tests/client/test_secrets.py b/tests/client/test_secrets.py index 7b643cb4..7b643cb4 100644 --- a/testing/tests/client/test_secrets.py +++ b/tests/client/test_secrets.py diff --git a/testing/tests/client/test_shared_db.py b/tests/client/test_shared_db.py index b045e524..b045e524 100644 --- a/testing/tests/client/test_shared_db.py +++ b/tests/client/test_shared_db.py diff --git a/testing/tests/client/test_signals.py b/tests/client/test_signals.py index c7609a74..c7609a74 100644 --- a/testing/tests/client/test_signals.py +++ b/tests/client/test_signals.py diff --git a/tests/client/test_soledad b/tests/client/test_soledad new file mode 120000 index 00000000..c1a35d32 --- /dev/null +++ b/tests/client/test_soledad @@ -0,0 +1 @@ +../test_soledad
\ No newline at end of file diff --git a/testing/tests/client/test_soledad_doc.py b/tests/client/test_soledad_doc.py index e158d768..e158d768 100644 --- a/testing/tests/client/test_soledad_doc.py +++ b/tests/client/test_soledad_doc.py diff --git a/testing/tests/conftest.py b/tests/conftest.py index d3a39289..d3a39289 100644 --- a/testing/tests/conftest.py +++ b/tests/conftest.py diff --git a/testing/tests/couch/__init__.py b/tests/couch/__init__.py index e69de29b..e69de29b 100644 --- a/testing/tests/couch/__init__.py +++ b/tests/couch/__init__.py diff --git a/testing/tests/couch/common.py b/tests/couch/common.py index 3c272f6e..3c272f6e 100644 --- a/testing/tests/couch/common.py +++ b/tests/couch/common.py diff --git a/testing/tests/couch/test_atomicity.py b/tests/couch/test_atomicity.py index 48e1c01d..48e1c01d 100644 --- a/testing/tests/couch/test_atomicity.py +++ b/tests/couch/test_atomicity.py diff --git a/testing/tests/couch/test_backend.py b/tests/couch/test_backend.py index 9dfa22ac..9dfa22ac 100644 --- a/testing/tests/couch/test_backend.py +++ b/tests/couch/test_backend.py diff --git a/testing/tests/couch/test_command.py b/tests/couch/test_command.py index 9fb2c153..9fb2c153 100644 --- a/testing/tests/couch/test_command.py +++ b/tests/couch/test_command.py diff --git a/testing/tests/couch/test_ddocs.py b/tests/couch/test_ddocs.py index 3937f2de..3937f2de 100644 --- a/testing/tests/couch/test_ddocs.py +++ b/tests/couch/test_ddocs.py diff --git a/tests/couch/test_soledad b/tests/couch/test_soledad new file mode 120000 index 00000000..c1a35d32 --- /dev/null +++ b/tests/couch/test_soledad @@ -0,0 +1 @@ +../test_soledad
\ No newline at end of file diff --git a/testing/tests/couch/test_state.py b/tests/couch/test_state.py index e5ac3704..e5ac3704 100644 --- a/testing/tests/couch/test_state.py +++ b/tests/couch/test_state.py diff --git a/testing/tests/couch/test_sync.py b/tests/couch/test_sync.py index c353518e..c353518e 100644 --- a/testing/tests/couch/test_sync.py +++ b/tests/couch/test_sync.py diff --git a/testing/tests/couch/test_sync_target.py b/tests/couch/test_sync_target.py index 0370a6d1..0370a6d1 100644 --- a/testing/tests/couch/test_sync_target.py +++ b/tests/couch/test_sync_target.py diff --git a/testing/tests/pipes/test_pipes.py b/tests/pipes/test_pipes.py index 42ed81ac..42ed81ac 100644 --- a/testing/tests/pipes/test_pipes.py +++ b/tests/pipes/test_pipes.py diff --git a/testing/tests/responsiveness/conftest.py b/tests/responsiveness/conftest.py index a46aea44..a46aea44 100644 --- a/testing/tests/responsiveness/conftest.py +++ b/tests/responsiveness/conftest.py diff --git a/testing/tests/responsiveness/elastic.py b/tests/responsiveness/elastic.py index fed1506b..fed1506b 100644 --- a/testing/tests/responsiveness/elastic.py +++ b/tests/responsiveness/elastic.py diff --git a/testing/tests/responsiveness/test_responsiveness.py b/tests/responsiveness/test_responsiveness.py index b3e2c56a..b3e2c56a 100644 --- a/testing/tests/responsiveness/test_responsiveness.py +++ b/tests/responsiveness/test_responsiveness.py diff --git a/testing/tests/responsiveness/watchdog.py b/tests/responsiveness/watchdog.py index 88f4fa67..88f4fa67 100644 --- a/testing/tests/responsiveness/watchdog.py +++ b/tests/responsiveness/watchdog.py diff --git a/testing/tests/server/__init__.py b/tests/server/__init__.py index e69de29b..e69de29b 100644 --- a/testing/tests/server/__init__.py +++ b/tests/server/__init__.py diff --git a/testing/tests/server/test__resource.py b/tests/server/test__resource.py index a43ac19f..a43ac19f 100644 --- a/testing/tests/server/test__resource.py +++ b/tests/server/test__resource.py diff --git a/testing/tests/server/test__server_info.py b/tests/server/test__server_info.py index 40567ef1..40567ef1 100644 --- a/testing/tests/server/test__server_info.py +++ b/tests/server/test__server_info.py diff --git a/testing/tests/server/test_auth.py b/tests/server/test_auth.py index 78cf20ab..78cf20ab 100644 --- a/testing/tests/server/test_auth.py +++ b/tests/server/test_auth.py diff --git a/testing/tests/server/test_blobs_resource_validation.py b/tests/server/test_blobs_resource_validation.py index 9f6dfc2f..9f6dfc2f 100644 --- a/testing/tests/server/test_blobs_resource_validation.py +++ b/tests/server/test_blobs_resource_validation.py diff --git a/testing/tests/server/test_blobs_server.py b/tests/server/test_blobs_server.py index 9eddf108..9eddf108 100644 --- a/testing/tests/server/test_blobs_server.py +++ b/tests/server/test_blobs_server.py diff --git a/testing/tests/server/test_config.py b/tests/server/test_config.py index dfb09f4c..dfb09f4c 100644 --- a/testing/tests/server/test_config.py +++ b/tests/server/test_config.py diff --git a/testing/tests/server/test_incoming_flow_integration.py b/tests/server/test_incoming_flow_integration.py index b492534f..b492534f 100644 --- a/testing/tests/server/test_incoming_flow_integration.py +++ b/tests/server/test_incoming_flow_integration.py diff --git a/testing/tests/server/test_incoming_resource.py b/tests/server/test_incoming_resource.py index 0d4918b9..0d4918b9 100644 --- a/testing/tests/server/test_incoming_resource.py +++ b/tests/server/test_incoming_resource.py diff --git a/testing/tests/server/test_incoming_server.py b/tests/server/test_incoming_server.py index 241bc581..241bc581 100644 --- a/testing/tests/server/test_incoming_server.py +++ b/tests/server/test_incoming_server.py diff --git a/testing/tests/server/test_server.py b/tests/server/test_server.py index 25f0cc2d..25f0cc2d 100644 --- a/testing/tests/server/test_server.py +++ b/tests/server/test_server.py diff --git a/testing/tests/server/test_session.py b/tests/server/test_session.py index 3dbd2740..3dbd2740 100644 --- a/testing/tests/server/test_session.py +++ b/tests/server/test_session.py diff --git a/testing/tests/server/test_shared_db.py b/tests/server/test_shared_db.py index 96af6dff..96af6dff 100644 --- a/testing/tests/server/test_shared_db.py +++ b/tests/server/test_shared_db.py diff --git a/tests/server/test_soledad b/tests/server/test_soledad new file mode 120000 index 00000000..c1a35d32 --- /dev/null +++ b/tests/server/test_soledad @@ -0,0 +1 @@ +../test_soledad
\ No newline at end of file diff --git a/testing/tests/server/test_tac.py b/tests/server/test_tac.py index 7bb50e35..7bb50e35 100644 --- a/testing/tests/server/test_tac.py +++ b/tests/server/test_tac.py diff --git a/testing/tests/server/test_url_mapper.py b/tests/server/test_url_mapper.py index a04e7593..a04e7593 100644 --- a/testing/tests/server/test_url_mapper.py +++ b/tests/server/test_url_mapper.py diff --git a/testing/tests/sqlcipher/hacker_crackdown.txt b/tests/sqlcipher/hacker_crackdown.txt index a01eb509..a01eb509 100644 --- a/testing/tests/sqlcipher/hacker_crackdown.txt +++ b/tests/sqlcipher/hacker_crackdown.txt diff --git a/testing/tests/sqlcipher/test_async.py b/tests/sqlcipher/test_async.py index 5c220cc4..5c220cc4 100644 --- a/testing/tests/sqlcipher/test_async.py +++ b/tests/sqlcipher/test_async.py diff --git a/testing/tests/sqlcipher/test_backend.py b/tests/sqlcipher/test_backend.py index 68f8f9f2..68f8f9f2 100644 --- a/testing/tests/sqlcipher/test_backend.py +++ b/tests/sqlcipher/test_backend.py diff --git a/tests/sqlcipher/test_soledad b/tests/sqlcipher/test_soledad new file mode 120000 index 00000000..c1a35d32 --- /dev/null +++ b/tests/sqlcipher/test_soledad @@ -0,0 +1 @@ +../test_soledad
\ No newline at end of file diff --git a/testing/tests/sync/__init__.py b/tests/sync/__init__.py index e69de29b..e69de29b 100644 --- a/testing/tests/sync/__init__.py +++ b/tests/sync/__init__.py diff --git a/tests/sync/test_soledad b/tests/sync/test_soledad new file mode 120000 index 00000000..c1a35d32 --- /dev/null +++ b/tests/sync/test_soledad @@ -0,0 +1 @@ +../test_soledad
\ No newline at end of file diff --git a/testing/tests/sync/test_sqlcipher_sync.py b/tests/sync/test_sqlcipher_sync.py index 26f63a40..26f63a40 100644 --- a/testing/tests/sync/test_sqlcipher_sync.py +++ b/tests/sync/test_sqlcipher_sync.py diff --git a/testing/tests/sync/test_sync.py b/tests/sync/test_sync.py index fb9a0245..fb9a0245 100644 --- a/testing/tests/sync/test_sync.py +++ b/tests/sync/test_sync.py diff --git a/testing/tests/sync/test_sync_mutex.py b/tests/sync/test_sync_mutex.py index fdd2aacd..fdd2aacd 100644 --- a/testing/tests/sync/test_sync_mutex.py +++ b/tests/sync/test_sync_mutex.py diff --git a/testing/tests/sync/test_sync_target.py b/tests/sync/test_sync_target.py index 712f0d3f..712f0d3f 100644 --- a/testing/tests/sync/test_sync_target.py +++ b/tests/sync/test_sync_target.py diff --git a/testing/test_soledad/__init__.py b/tests/test_soledad/__init__.py index c07c8b0e..c07c8b0e 100644 --- a/testing/test_soledad/__init__.py +++ b/tests/test_soledad/__init__.py diff --git a/testing/test_soledad/fixture_soledad.conf b/tests/test_soledad/fixture_soledad.conf index 80e7a4d4..80e7a4d4 100644 --- a/testing/test_soledad/fixture_soledad.conf +++ b/tests/test_soledad/fixture_soledad.conf diff --git a/testing/test_soledad/u1db_tests/README b/tests/test_soledad/u1db_tests/README index 546dfdc9..546dfdc9 100644 --- a/testing/test_soledad/u1db_tests/README +++ b/tests/test_soledad/u1db_tests/README diff --git a/testing/test_soledad/u1db_tests/__init__.py b/tests/test_soledad/u1db_tests/__init__.py index 2a4415a6..2a4415a6 100644 --- a/testing/test_soledad/u1db_tests/__init__.py +++ b/tests/test_soledad/u1db_tests/__init__.py diff --git a/testing/test_soledad/u1db_tests/test_backends.py b/tests/test_soledad/u1db_tests/test_backends.py index 10dcdff9..10dcdff9 100644 --- a/testing/test_soledad/u1db_tests/test_backends.py +++ b/tests/test_soledad/u1db_tests/test_backends.py diff --git a/testing/test_soledad/u1db_tests/test_document.py b/tests/test_soledad/u1db_tests/test_document.py index a7ead2d1..a7ead2d1 100644 --- a/testing/test_soledad/u1db_tests/test_document.py +++ b/tests/test_soledad/u1db_tests/test_document.py diff --git a/testing/test_soledad/u1db_tests/test_http_client.py b/tests/test_soledad/u1db_tests/test_http_client.py index e9516236..e9516236 100644 --- a/testing/test_soledad/u1db_tests/test_http_client.py +++ b/tests/test_soledad/u1db_tests/test_http_client.py diff --git a/testing/test_soledad/u1db_tests/test_http_database.py b/tests/test_soledad/u1db_tests/test_http_database.py index a3ed9361..a3ed9361 100644 --- a/testing/test_soledad/u1db_tests/test_http_database.py +++ b/tests/test_soledad/u1db_tests/test_http_database.py diff --git a/testing/test_soledad/u1db_tests/test_https.py b/tests/test_soledad/u1db_tests/test_https.py index 2e75afd1..2e75afd1 100644 --- a/testing/test_soledad/u1db_tests/test_https.py +++ b/tests/test_soledad/u1db_tests/test_https.py diff --git a/testing/test_soledad/u1db_tests/test_open.py b/tests/test_soledad/u1db_tests/test_open.py index 4ca0c4a7..4ca0c4a7 100644 --- a/testing/test_soledad/u1db_tests/test_open.py +++ b/tests/test_soledad/u1db_tests/test_open.py diff --git a/testing/test_soledad/u1db_tests/testing-certs/Makefile b/tests/test_soledad/u1db_tests/testing-certs/Makefile index 2385e75b..2385e75b 100644 --- a/testing/test_soledad/u1db_tests/testing-certs/Makefile +++ b/tests/test_soledad/u1db_tests/testing-certs/Makefile diff --git a/testing/test_soledad/u1db_tests/testing-certs/cacert.pem b/tests/test_soledad/u1db_tests/testing-certs/cacert.pem index c019a730..c019a730 100644 --- a/testing/test_soledad/u1db_tests/testing-certs/cacert.pem +++ b/tests/test_soledad/u1db_tests/testing-certs/cacert.pem diff --git a/testing/test_soledad/u1db_tests/testing-certs/testing.cert b/tests/test_soledad/u1db_tests/testing-certs/testing.cert index 985684fb..985684fb 100644 --- a/testing/test_soledad/u1db_tests/testing-certs/testing.cert +++ b/tests/test_soledad/u1db_tests/testing-certs/testing.cert diff --git a/testing/test_soledad/u1db_tests/testing-certs/testing.key b/tests/test_soledad/u1db_tests/testing-certs/testing.key index d83d4920..d83d4920 100644 --- a/testing/test_soledad/u1db_tests/testing-certs/testing.key +++ b/tests/test_soledad/u1db_tests/testing-certs/testing.key diff --git a/testing/test_soledad/util.py b/tests/test_soledad/util.py index ca8d098d..ca8d098d 100644 --- a/testing/test_soledad/util.py +++ b/tests/test_soledad/util.py diff --git a/testing/tox.ini b/tox.ini index a8186f70..d1e03366 100644 --- a/testing/tox.ini +++ b/tox.ini @@ -5,7 +5,6 @@ skipsdist=True [testenv] basepython = python2.7 commands = - ./ensure-pysqlcipher-has-usleep.sh py.test -x \ --cov-report=html \ --cov-report=term \ @@ -32,9 +31,8 @@ deps = elasticsearch certifi # install soledad from current tree - -e../ - -e../[client] - -e../[server] + -e.[client] + -e.[server] setenv = HOME=/tmp TERM=xterm @@ -68,35 +66,31 @@ deps = elasticsearch certifi # install soledad local packages - -e../ - -e../[client] - -e../[server] + -e.[client] + -e.[server] setenv = HOME=/tmp TERM=xterm install_command = pip3 install {opts} {packages} [testenv:benchmark] +usedevelop = True deps = {[testenv]deps} commands = -# we must make sure that installed pysqlcipher was built with the HAVE_USLEEP -# flag, or we might have problems with concurrent db access. - ./ensure-pysqlcipher-has-usleep.sh # run benchmarks twice: once for time and cpu and a second time for memory py.test --subdir=benchmarks {posargs} py.test --subdir=benchmarks --watch-memory {posargs} passenv = HOST_HOSTNAME [testenv:responsiveness] +usedevelop = True deps = {[testenv:benchmark]deps} commands = - ./ensure-pysqlcipher-has-usleep.sh py.test --subdir=responsiveness {posargs} [testenv:code-check] -changedir = .. deps = pep8 flake8 @@ -110,5 +104,4 @@ deps = pytest-xdist install_command = pip install {opts} {packages} commands = - ./ensure-pysqlcipher-has-usleep.sh py.test {posargs} -n 4 |