Age | Commit message (Collapse) | Author |
|
As sqlcipher benchmark tests take longer, we want to limit the number of
repetitions. Previous to this change, these tests were being calibrated
automatically and would run 5 times becuase it is the default minimum
number of times for pytest-benchmark. By changing the runner to pedantic
mode, now they will be run 4 times, the same number of times as
benchmark sync tests.
|
|
|
|
|
|
We noticed that instrumentation added for watching resources has an
impact in time statistics (i.e. it increases average and stddev). This
commit makes the benchmark tests run twice: once for measuring time and
a second time for measuring resources.
|
|
This commit adds the --watch-resources command line option for
benchmarks tests, and allows to running the benchmark test suite with
and without resource monitoring instrumentation code.
This is needed because resource consumption monitoring impacts the mean
time and standard deviation of time taken to run benchmarked tests.
|
|
pysqlcipher just has to be reinstalled for benchmark tests if current
installed version fails the HAVE_USLEEP flag test. This commit moves the
code for checking and reinstalling to a script and bypasses the
reinstallation when it is unneeded.
|
|
|
|
This needs OpenSSL >= 1.1, otherwise it will keep using the scrypt
dependency.
We should think about deprecating scrypt as a dependency when we can be
sure that the adoption of libssl 1.1 is wide enough. I think that at
some point (soledad 0.11 or so) we can drop the scrypt dependency, which
was being somehow problematic at times (the _scrypt.so was not appearing
when installing with pip, needed workarounds). From that moment on, we
can raise an error if an old libssl is found and no scrypt can be
imported - leaving that to the user/packager.
In debian stretch and afterwards, you can get that version by installing
libssl-dev
- Related: #8472
|
|
|
|
|
|
Adds an extra parameter called "namespace" on the backend interface and
on FileSystemBlobsBackend. This parameter overrides default id
partitioning and uses a separate folder for a custom namespace.
-- Resolves: #8889
|
|
According to /incoming specification, this parameter doesn't exists. It
was added on MX side and brought here on transition. This commit
explicitly removes it, leaving a track on history that it got removed
during transition. Further work on MX will also remove the "NONE"
encryption scheme, which is part of dead code.
|
|
|
|
Use the same formatting as MX was using for backwards compatibility.
-- Resolves: #8828
|
|
-- Resolves: #8827
|
|
Adds the routing code for exposing /incoming from SoledadResource.
- Related: #8827
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Resolves: #8804
|
|
|
|
The image location needs to be changed to the new location and
the docker.io package needs to be available in the image to
build it
|
|
When the testing/docker directory is changed, the `build_docker_image`
CI job is triggered to build the docker image and push it to the
soledad container registry.
This is part of an effort to move all the docker images into their own
project's container registry, and to build/provide them
automatically (see leap/platform#8755).
This is accomplished by the following:
added the necessary overlay DOCKER_DRIVER variable to .gitlab-ci.yml
added a build_docker_image job with docker:dind service enabled
enabled container registry in soledad project
added LEAP_CODE_O_MATIC_PRIVATE_TOKEN to project
moved docker image from scripts:docker/soledad to soledad:testing/docker
docker push gitlab-buildpackage:soledad to soledad container registry
removed gitlab-buildpackage:soledad image and scripts/docker/soledad
changed image in .gitlab-ci.yml to use new location
Note: until https://gitlab.com/gitlab-org/gitlab-ce/issues/19813 is
resolved, we have to use this method.
|
|
- rename add_tag method
- reorder blob interface methods for clarity
- use mkdir_p from leap.common
|
|
|
|
|
|
|
|
Add a DELETE method for blobs server and integrate it into client's
BlobManager.
- Resolves: #8846
|
|
- Related: #8846
|
|
|
|
|
|
|
|
|
|
Check if user and blob_id are valid strings, then check if the resulting
path is a subdirectory of blobs configured path.
- Related: #8800
|
|
- Related: #8812
|
|
BlobManager tests covers them indirectly, but testing them directly may
help locating source of bugs.
- Related: #8812
|
|
- Related: #8812
|
|
- Related: #8812
|
|
We can't let the local DB try an isertion before making sure doc isn't
already there.
- Resolves: #8845
|
|
|
|
|
|
|
|
_validate will check if user_id and blob_id are letter, numbers, dashes
and underscores. It is called on render_GET and render_POST, validating
incoming arguments before handling on backend.
- Resolves: #8832
|
|
This makes process communication async during quota measurement, as
specified on #8832
- Related: #8832
|
|
During a meeting with pixelated we were asked to ensure that the u1db
revision system was working for the shared database. This commit adds a
test to make sure that documents in the shared database can be updated
successfully if the include the correct revision, but will fail if the
include the incorrect revision.
Resolves: #8842.
|
|
SQLCipher synchronous benchmark tests were introduced when we started
developing benchmark tests to compare synchronous and asynchronous code.
Synchronous access to sqlcipher database is not used in soledad, and
those tests are much slower than asynchronous tests (more than 10 times
using ssd drive), so we want to avoid running them on ci. This commit
introduces a "synchronous" marker and avoid running tests markes as such
in ci environment.
|
|
There were some changes needed in pytest-benchmark so we could
successfully use it for soledad benchmarks graphing:
https://github.com/ionelmc/pytest-benchmark/pull/73
https://github.com/ionelmc/pytest-benchmark/pull/74
https://github.com/ionelmc/pytest-benchmark/pull/75
The contributions were accepted but not released yet, so this commit
uses the code from upstream git repository's master branch.
|