From 639569f611963d8b876f7705accba4b88a1c871d Mon Sep 17 00:00:00 2001 From: drebs Date: Wed, 5 Apr 2017 13:45:46 +0200 Subject: [test] enforce bundled pysqlcipher in benchmark tests The debian package for libsqlcipher does not enable the use of usleep(), and that might cause timeouts when doing concurrent access to sqlcipher databases. See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859685 In benchmark tests we use twisted's asynchronous dbapi for creating thousands of documents, and if usleep() is not enabled this operation is very likelly to fail with a "db is locked" error. This commit adds a workaround for benchmark tests by reinstalling pysqlcipher with the "--bundled" option, what causes libsqlcipher to be built and bundled in the python package, with usleep() enabled. Resolves: #8835 --- testing/tox.ini | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'testing/tox.ini') diff --git a/testing/tox.ini b/testing/tox.ini index 2acbf4fb..48c1afb9 100644 --- a/testing/tox.ini +++ b/testing/tox.ini @@ -67,7 +67,14 @@ deps = git+https://github.com/drebs/pytest-benchmark.git@fix-update-machine-info-hook-spec elasticsearch certifi -commands = py.test --benchmark-only {posargs} +commands = +# use a bundled version of pysqlcipher to ensure HAVE_USLEEP is set and we +# don't have problems with concurrent db access. + pip uninstall -y pysqlcipher + pip install --install-option="--bundled" pysqlcipher + ./check-pysqlcipher.py +# and only then run benchmark + py.test --benchmark-only {posargs} passenv = HOST_HOSTNAME [testenv:code-check] -- cgit v1.2.3