summaryrefslogtreecommitdiff
path: root/scripts/testing
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/testing')
-rwxr-xr-xscripts/testing/check-pysqlcipher.py23
-rwxr-xr-xscripts/testing/ensure-pysqlcipher-has-usleep.sh13
2 files changed, 36 insertions, 0 deletions
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)