Browse Source

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.
0.10
Gavin Andresen 11 years ago
parent
commit
cb4bdd18a7
  1. 2
      Makefile.am
  2. 3
      qa/pull-tester/build-tests.sh.in
  3. 13
      qa/rpc-tests/util.py

2
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) @qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool $(COMPARISON_TOOL_REORG_TESTS)
endif 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) CLEANFILES = $(OSX_DMG) $(OSX_APP) $(BITCOIN_WIN_INSTALLER)

3
qa/pull-tester/build-tests.sh.in

@ -74,6 +74,9 @@ make check
# Run RPC integration test on Linux: # 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/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 if [ $RUN_EXPENSIVE_TESTS = 1 ]; then
# Run unit tests and blockchain-tester on Windows: # Run unit tests and blockchain-tester on Windows:

13
qa/rpc-tests/util.py

@ -65,6 +65,7 @@ def initialize_chain(test_dir):
""" """
if not os.path.isdir(os.path.join("cache", "node0")): if not os.path.isdir(os.path.join("cache", "node0")):
devnull = open("/dev/null", "w+")
# Create cache directories, run bitcoinds: # Create cache directories, run bitcoinds:
for i in range(4): for i in range(4):
datadir = os.path.join("cache", "node"+str(i)) datadir = os.path.join("cache", "node"+str(i))
@ -79,9 +80,9 @@ def initialize_chain(test_dir):
if i > 0: if i > 0:
args.append("-connect=127.0.0.1:"+str(START_P2P_PORT)) args.append("-connect=127.0.0.1:"+str(START_P2P_PORT))
bitcoind_processes.append(subprocess.Popen(args)) bitcoind_processes.append(subprocess.Popen(args))
subprocess.check_output([ "bitcoin-cli", "-datadir="+datadir, subprocess.check_call([ "bitcoin-cli", "-datadir="+datadir,
"-rpcwait", "getblockcount"]) "-rpcwait", "getblockcount"], stdout=devnull)
devnull.close()
rpcs = [] rpcs = []
for i in range(4): for i in range(4):
try: try:
@ -113,12 +114,14 @@ def initialize_chain(test_dir):
def start_nodes(num_nodes, dir): def start_nodes(num_nodes, dir):
# Start bitcoinds, and wait for RPC interface to be up and running: # Start bitcoinds, and wait for RPC interface to be up and running:
devnull = open("/dev/null", "w+")
for i in range(num_nodes): for i in range(num_nodes):
datadir = os.path.join(dir, "node"+str(i)) datadir = os.path.join(dir, "node"+str(i))
args = [ "bitcoind", "-datadir="+datadir ] args = [ "bitcoind", "-datadir="+datadir ]
bitcoind_processes.append(subprocess.Popen(args)) bitcoind_processes.append(subprocess.Popen(args))
subprocess.check_output([ "bitcoin-cli", "-datadir="+datadir, subprocess.check_call([ "bitcoin-cli", "-datadir="+datadir,
"-rpcwait", "getblockcount"]) "-rpcwait", "getblockcount"], stdout=devnull)
devnull.close()
# Create&return JSON-RPC connections # Create&return JSON-RPC connections
rpc_connections = [] rpc_connections = []
for i in range(num_nodes): for i in range(num_nodes):

Loading…
Cancel
Save