aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElliot Olds <[email protected]>2016-03-10 03:12:40 -0800
committerElliot Olds <[email protected]>2016-03-10 15:41:13 -0800
commit2ab835ae6c02de14264896d571c0bba230a1e9f0 (patch)
tree9ec3ff34fabe47e7f32580502b8cf2668a821346
parentMerge #7632: Delete outdated test-patches reference (diff)
downloaddiscoin-2ab835ae6c02de14264896d571c0bba230a1e9f0.tar.xz
discoin-2ab835ae6c02de14264896d571c0bba230a1e9f0.zip
Check if zmq is installed in tests, update docs
If ZMQ is enabled, check whether it's installed before running ZMQ tests. If it isn't, disable ZMQ and print a warning. Also add dependency info to test docs, so users know ZMQ is required before running tests, and so they know how to install it. When following the build instructions before this change then trying to run the RPC tests, a unix user would get an error when python tried to import zmq. There may be other dependencies that should be added to the docs, particularly ones for non-unix systems. This is the only unlisted dependency I encountered using linux.
-rw-r--r--README.md4
-rw-r--r--qa/README.md11
-rwxr-xr-xqa/pull-tester/rpc-tests.py9
3 files changed, 22 insertions, 2 deletions
diff --git a/README.md b/README.md
index d5b742534..85b198556 100644
--- a/README.md
+++ b/README.md
@@ -55,10 +55,10 @@ submit new unit tests for old code. Unit tests can be compiled and run
There are also [regression and integration tests](/qa) of the RPC interface, written
in Python, that are run automatically on the build server.
-These tests can be run with: `qa/pull-tester/rpc-tests.py`
+These tests can be run (if the [test dependencies](/qa) are installed) with: `qa/pull-tester/rpc-tests.py`
The Travis CI system makes sure that every pull request is built for Windows
-and Linux, OSX, and that unit and sanity tests are automatically run.
+and Linux, OS X, and that unit and sanity tests are automatically run.
### Manual Quality Assurance (QA) Testing
diff --git a/qa/README.md b/qa/README.md
index 758d1f47e..2b476c4d8 100644
--- a/qa/README.md
+++ b/qa/README.md
@@ -5,6 +5,17 @@ Every pull request to the bitcoin repository is built and run through
the regression test suite. You can also run all or only individual
tests locally.
+Test dependencies
+=================
+Before running the tests, the following must be installed.
+
+Unix
+----
+The python-zmq library is required. On Ubuntu or Debian it can be installed via:
+```
+sudo apt-get install python-zmq
+```
+
Running tests
=============
diff --git a/qa/pull-tester/rpc-tests.py b/qa/pull-tester/rpc-tests.py
index 7649c1183..485888e9b 100755
--- a/qa/pull-tester/rpc-tests.py
+++ b/qa/pull-tester/rpc-tests.py
@@ -40,6 +40,15 @@ if not vars().has_key('ENABLE_UTILS'):
ENABLE_UTILS=0
if not vars().has_key('ENABLE_ZMQ'):
ENABLE_ZMQ=0
+
+# python-zmq may not be installed. Handle this gracefully and with some helpful info
+if ENABLE_ZMQ:
+ try:
+ import zmq
+ except ImportError:
+ print("WARNING: \"import zmq\" failed. Setting ENABLE_ZMQ=0. " \
+ "To run zmq tests, see dependency info in /qa/README.md.")
+ ENABLE_ZMQ=0
ENABLE_COVERAGE=0