From cb4bdd18a74470e190f552a2425c12c6e2f33138 Mon Sep 17 00:00:00 2001 From: Gavin Andresen Date: Wed, 2 Apr 2014 16:30:38 -0400 Subject: [PATCH] Have pull-tester run the listtransactions.py regression test This should show how to run a python-based regression test successfully in the pull-tester environment. --- Makefile.am | 2 +- qa/pull-tester/build-tests.sh.in | 3 +++ qa/rpc-tests/util.py | 13 ++++++++----- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Makefile.am b/Makefile.am index 7a46652ec..0b3a822bf 100644 --- a/Makefile.am +++ b/Makefile.am @@ -162,7 +162,7 @@ check-local: @qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool $(COMPARISON_TOOL_REORG_TESTS) endif -EXTRA_DIST = $(top_srcdir)/share/genbuild.sh qa/pull-tester/pull-tester.sh $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) +EXTRA_DIST = $(top_srcdir)/share/genbuild.sh qa/pull-tester/pull-tester.sh qa/rpc-tests $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) CLEANFILES = $(OSX_DMG) $(OSX_APP) $(BITCOIN_WIN_INSTALLER) diff --git a/qa/pull-tester/build-tests.sh.in b/qa/pull-tester/build-tests.sh.in index e7db72111..ebf377a48 100755 --- a/qa/pull-tester/build-tests.sh.in +++ b/qa/pull-tester/build-tests.sh.in @@ -74,6 +74,9 @@ make check # Run RPC integration test on Linux: @abs_top_srcdir@/qa/rpc-tests/wallet.sh @abs_top_srcdir@/linux-build/src +@abs_top_srcdir@/qa/rpc-tests/listtransactions.py --srcdir @abs_top_srcdir@/linux-build/src +# Clean up cache/ directory that the python regression tests create +rm -rf cache if [ $RUN_EXPENSIVE_TESTS = 1 ]; then # Run unit tests and blockchain-tester on Windows: diff --git a/qa/rpc-tests/util.py b/qa/rpc-tests/util.py index fa0700f1c..1d0896a3f 100644 --- a/qa/rpc-tests/util.py +++ b/qa/rpc-tests/util.py @@ -65,6 +65,7 @@ def initialize_chain(test_dir): """ if not os.path.isdir(os.path.join("cache", "node0")): + devnull = open("/dev/null", "w+") # Create cache directories, run bitcoinds: for i in range(4): datadir = os.path.join("cache", "node"+str(i)) @@ -79,9 +80,9 @@ def initialize_chain(test_dir): if i > 0: args.append("-connect=127.0.0.1:"+str(START_P2P_PORT)) bitcoind_processes.append(subprocess.Popen(args)) - subprocess.check_output([ "bitcoin-cli", "-datadir="+datadir, - "-rpcwait", "getblockcount"]) - + subprocess.check_call([ "bitcoin-cli", "-datadir="+datadir, + "-rpcwait", "getblockcount"], stdout=devnull) + devnull.close() rpcs = [] for i in range(4): try: @@ -113,12 +114,14 @@ def initialize_chain(test_dir): def start_nodes(num_nodes, dir): # Start bitcoinds, and wait for RPC interface to be up and running: + devnull = open("/dev/null", "w+") for i in range(num_nodes): datadir = os.path.join(dir, "node"+str(i)) args = [ "bitcoind", "-datadir="+datadir ] bitcoind_processes.append(subprocess.Popen(args)) - subprocess.check_output([ "bitcoin-cli", "-datadir="+datadir, - "-rpcwait", "getblockcount"]) + subprocess.check_call([ "bitcoin-cli", "-datadir="+datadir, + "-rpcwait", "getblockcount"], stdout=devnull) + devnull.close() # Create&return JSON-RPC connections rpc_connections = [] for i in range(num_nodes):