Browse Source
1) created rpc-tests.py 2) deleted rpc-tests.sh 3) travis.yml points to rpc-tests.py 4) Modified Makefile.am 5) Updated README.md 6) Added tests_config.py and deleted tests-config.sh 7) Modified configure.ac with script to set correct path in tests_config.py0.13
ptschip
9 years ago
7 changed files with 139 additions and 98 deletions
@ -0,0 +1,118 @@
@@ -0,0 +1,118 @@
|
||||
#!/usr/bin/env python2 |
||||
|
||||
# Copyright (c) 2014 The Bitcoin Core developers |
||||
# Distributed under the MIT software license, see the accompanying |
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php. |
||||
|
||||
# |
||||
# Run Regression Test Suite |
||||
# |
||||
|
||||
import os |
||||
import sys |
||||
import subprocess |
||||
import re |
||||
from tests_config import * |
||||
from sets import Set |
||||
|
||||
#If imported values are not defined then set to zero (or disabled) |
||||
if not vars().has_key('ENABLE_WALLET'): |
||||
ENABLE_WALLET=0 |
||||
if not vars().has_key('ENABLE_BITCOIND'): |
||||
ENABLE_BITCOIND=0 |
||||
if not vars().has_key('ENABLE_UTILS'): |
||||
ENABLE_UTILS=0 |
||||
if not vars().has_key('ENABLE_ZMQ'): |
||||
ENABLE_ZMQ=0 |
||||
|
||||
#Create a set to store arguments and create the passOn string |
||||
opts = Set() |
||||
passOn = "" |
||||
p = re.compile("^--") |
||||
for i in range(1,len(sys.argv)): |
||||
if (p.match(sys.argv[i]) or sys.argv[i] == "-h"): |
||||
passOn += " " + sys.argv[i] |
||||
else: |
||||
opts.add(sys.argv[i]) |
||||
|
||||
#Set env vars |
||||
buildDir = BUILDDIR |
||||
os.environ["BITCOIND"] = buildDir + '/src/bitcoind' + EXEEXT |
||||
os.environ["BITCOINCLI"] = buildDir + '/src/bitcoin-cli' + EXEEXT |
||||
|
||||
#Disable Windows tests by default |
||||
if EXEEXT == ".exe" and "-win" not in opts: |
||||
print "Win tests currently disabled. Use -win option to enable" |
||||
sys.exit(0) |
||||
|
||||
#Tests |
||||
testScripts = [ |
||||
'wallet.py', |
||||
'listtransactions.py', |
||||
'mempool_resurrect_test.py', |
||||
'txn_doublespend.py --mineblock', |
||||
'txn_clone.py', |
||||
'getchaintips.py', |
||||
'rawtransactions.py', |
||||
'rest.py', |
||||
'mempool_spendcoinbase.py', |
||||
'mempool_coinbase_spends.py', |
||||
'httpbasics.py', |
||||
'zapwallettxes.py', |
||||
'proxy_test.py', |
||||
'merkle_blocks.py', |
||||
'fundrawtransaction.py', |
||||
'signrawtransactions.py', |
||||
'walletbackup.py', |
||||
'nodehandling.py', |
||||
'reindex.py', |
||||
'decodescript.py', |
||||
'p2p-fullblocktest.py', |
||||
] |
||||
testScriptsExt = [ |
||||
'bipdersig-p2p.py', |
||||
'bipdersig.py', |
||||
'getblocktemplate_longpoll.py', |
||||
'getblocktemplate_proposals.py', |
||||
'txn_doublespend.py', |
||||
'txn_clone.py --mineblock', |
||||
'pruning.py', |
||||
'forknotify.py', |
||||
'invalidateblock.py', |
||||
'keypool.py', |
||||
'receivedby.py', |
||||
'rpcbind_test.py', |
||||
# 'script_test.py', |
||||
'smartfees.py', |
||||
'maxblocksinflight.py', |
||||
'invalidblockrequest.py', |
||||
# 'forknotify.py', |
||||
'p2p-acceptblock.py', |
||||
'mempool_packages.py', |
||||
] |
||||
|
||||
#Enable ZMQ tests |
||||
if ENABLE_ZMQ == 1: |
||||
testScripts.append('zmq_test.py') |
||||
|
||||
if(ENABLE_WALLET == 1 and ENABLE_UTILS == 1 and ENABLE_BITCOIND == 1): |
||||
rpcTestDir = buildDir + '/qa/rpc-tests/' |
||||
#Run Tests |
||||
for i in range(len(testScripts)): |
||||
if (len(opts) == 0 or (len(opts) == 1 and "-win" in opts ) or '-extended' in opts |
||||
or testScripts[i] in opts or re.sub(".py$", "", testScripts[i]) in opts ): |
||||
print "Running testscript " + testScripts[i] + "..." |
||||
subprocess.call(rpcTestDir + testScripts[i] + " --srcdir " + buildDir + '/src ' + passOn,shell=True) |
||||
#exit if help is called so we print just one set of instructions |
||||
p = re.compile(" -h| --help") |
||||
if p.match(passOn): |
||||
sys.exit(0) |
||||
|
||||
#Run Extended Tests |
||||
for i in range(len(testScriptsExt)): |
||||
if ('-extended' in opts or testScriptsExt[i] in opts |
||||
or re.sub(".py$", "", testScriptsExt[i]) in opts): |
||||
print "Running 2nd level testscript " + testScriptsExt[i] + "..." |
||||
subprocess.call(rpcTestDir + testScriptsExt[i] + " --srcdir " + buildDir + '/src ' + passOn,shell=True) |
||||
else: |
||||
print "No rpc tests to run. Wallet, utils, and bitcoind must all be enabled" |
@ -1,89 +0,0 @@
@@ -1,89 +0,0 @@
|
||||
#!/bin/bash |
||||
set -e |
||||
|
||||
CURDIR=$(cd $(dirname "$0"); pwd) |
||||
# Get BUILDDIR and REAL_BITCOIND |
||||
. "${CURDIR}/tests-config.sh" |
||||
|
||||
export BITCOIND=${REAL_BITCOIND} |
||||
export BITCOINCLI=${REAL_BITCOINCLI} |
||||
|
||||
if [ "x${EXEEXT}" = "x.exe" ]; then |
||||
echo "Win tests currently disabled" |
||||
exit 0 |
||||
fi |
||||
|
||||
#Run the tests |
||||
|
||||
testScripts=( |
||||
'wallet.py' |
||||
'listtransactions.py' |
||||
'mempool_resurrect_test.py' |
||||
'txn_doublespend.py --mineblock' |
||||
'txn_clone.py' |
||||
'getchaintips.py' |
||||
'rawtransactions.py' |
||||
'rest.py' |
||||
'mempool_spendcoinbase.py' |
||||
'mempool_coinbase_spends.py' |
||||
'httpbasics.py' |
||||
'zapwallettxes.py' |
||||
'proxy_test.py' |
||||
'merkle_blocks.py' |
||||
'fundrawtransaction.py' |
||||
'signrawtransactions.py' |
||||
'walletbackup.py' |
||||
'nodehandling.py' |
||||
'reindex.py' |
||||
'decodescript.py' |
||||
'p2p-fullblocktest.py' |
||||
); |
||||
testScriptsExt=( |
||||
'bipdersig-p2p.py' |
||||
'bipdersig.py' |
||||
'getblocktemplate_longpoll.py' |
||||
'getblocktemplate_proposals.py' |
||||
'txn_doublespend.py' |
||||
'txn_clone.py --mineblock' |
||||
'pruning.py' |
||||
'forknotify.py' |
||||
'invalidateblock.py' |
||||
'keypool.py' |
||||
'receivedby.py' |
||||
'rpcbind_test.py' |
||||
# 'script_test.py' |
||||
'smartfees.py' |
||||
'maxblocksinflight.py' |
||||
'invalidblockrequest.py' |
||||
# 'forknotify.py' |
||||
'p2p-acceptblock.py' |
||||
'mempool_packages.py' |
||||
); |
||||
|
||||
if [ "x$ENABLE_ZMQ" = "x1" ]; then |
||||
testScripts+=('zmq_test.py') |
||||
fi |
||||
|
||||
extArg="-extended" |
||||
passOn=${@#$extArg} |
||||
|
||||
if [ "x${ENABLE_BITCOIND}${ENABLE_UTILS}${ENABLE_WALLET}" = "x111" ]; then |
||||
for (( i = 0; i < ${#testScripts[@]}; i++ )) |
||||
do |
||||
if [ -z "$1" ] || [ "${1:0:1}" == "-" ] || [ "$1" == "${testScripts[$i]}" ] || [ "$1.py" == "${testScripts[$i]}" ] |
||||
then |
||||
echo -e "Running testscript \033[1m${testScripts[$i]}...\033[0m" |
||||
${BUILDDIR}/qa/rpc-tests/${testScripts[$i]} --srcdir "${BUILDDIR}/src" ${passOn} |
||||
fi |
||||
done |
||||
for (( i = 0; i < ${#testScriptsExt[@]}; i++ )) |
||||
do |
||||
if [ "$1" == $extArg ] || [ "$1" == "${testScriptsExt[$i]}" ] || [ "$1.py" == "${testScriptsExt[$i]}" ] |
||||
then |
||||
echo -e "Running \033[1m2nd level\033[0m testscript \033[1m${testScriptsExt[$i]}...\033[0m" |
||||
${BUILDDIR}/qa/rpc-tests/${testScriptsExt[$i]} --srcdir "${BUILDDIR}/src" ${passOn} |
||||
fi |
||||
done |
||||
else |
||||
echo "No rpc tests to run. Wallet, utils, and bitcoind must all be enabled" |
||||
fi |
Loading…
Reference in new issue