diff options
author | drebs <drebs@riseup.net> | 2017-09-17 12:08:25 -0300 |
---|---|---|
committer | drebs <drebs@riseup.net> | 2017-09-17 15:50:55 -0300 |
commit | cfff46ff9becdbe5cf48816870e625ed253ecc57 (patch) | |
tree | 8d239e4499f559d86ed17ea3632008303b25d485 /scripts | |
parent | f29abe28bd778838626d12fcabe3980a8ce4fa8c (diff) |
[refactor] move tests to root of repository
Tests entrypoint was in a testing/ subfolder in the root of the
repository. This was made mainly because we had some common files for
tests and we didn't want to ship them (files in testing/test_soledad,
which is itself a python package. This sometimes causes errors when
loading tests (it seems setuptools is confused with having one python
package in a subdirectory of another).
This commit moves the tests entrypoint to the root of the repository.
Closes: #8952
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/docker/Dockerfile | 33 | ||||
-rwxr-xr-x | scripts/testing/check-pysqlcipher.py | 23 | ||||
-rwxr-xr-x | scripts/testing/ensure-pysqlcipher-has-usleep.sh | 13 |
3 files changed, 69 insertions, 0 deletions
diff --git a/scripts/docker/Dockerfile b/scripts/docker/Dockerfile new file mode 100644 index 00000000..2dea3ec8 --- /dev/null +++ b/scripts/docker/Dockerfile @@ -0,0 +1,33 @@ +# start with a fresh debian image +# we use backports because of libsqlcipher-dev +FROM 0xacab.org:4567/leap/docker/debian:jessie_amd64 + +RUN apt-get update +RUN apt-get -y dist-upgrade + +# needed to build python twisted module +RUN apt-get -y install --no-install-recommends libpython2.7-dev \ + # add unbuffer and ts for timestamping + moreutils expect tcl8.6 \ + # needed to build python cryptography module + libssl-dev libffi-dev \ + # needed to build pysqlcipher + libsqlcipher-dev \ + # needed to support keymanager + libsqlite3-dev \ + # install pip, so later we can install tox + python-pip \ + # used to show connection to couchdb during CI + curl \ + # needed to build pysqlcipher module + build-essential \ + # needed to build docker images + docker.io + +# We need git from backports because it has +# the "%cI: committer date, strict ISO 8601 format" +# pretty format which is used by pytest-benchmark +RUN apt-get -y install -t jessie-backports git + +RUN pip install -U pip +RUN pip install tox diff --git a/scripts/testing/check-pysqlcipher.py b/scripts/testing/check-pysqlcipher.py new file mode 100755 index 00000000..4202b13b --- /dev/null +++ b/scripts/testing/check-pysqlcipher.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python + +import os +import tempfile + +from pysqlcipher import dbapi2 + + +def have_usleep(): + fname = tempfile.mktemp() + db = dbapi2.connect(fname) + cursor = db.cursor() + cursor.execute('PRAGMA compile_options;') + options = map(lambda t: t[0], cursor.fetchall()) + db.close() + os.unlink(fname) + return u'HAVE_USLEEP' in options + + +if __name__ == '__main__': + if not have_usleep(): + raise Exception('pysqlcipher was not built with HAVE_USLEEP flag.') + print "All ok, pysqlcipher was built with HAVE_USLEEP flag. :-)" diff --git a/scripts/testing/ensure-pysqlcipher-has-usleep.sh b/scripts/testing/ensure-pysqlcipher-has-usleep.sh new file mode 100755 index 00000000..d3d93d86 --- /dev/null +++ b/scripts/testing/ensure-pysqlcipher-has-usleep.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +# make sure that the current installed version of pysqlcipher has the +# HAVE_USLEEP flag set so we don't have problems with concurrent db access. + +set -e + +install_bundled_pysqlcipher() { + pip uninstall -y pysqlcipher + pip install --install-option="--bundled" pysqlcipher +} + +./check-pysqlcipher.py || (install_bundled_pysqlcipher && ./check-pysqlcipher.py) |