Merge #7851: [qa] pull-tester: Don't mute zmq ImportError
fae1f4e
[qa] rpc-tests: Fix link in comment and label error msg (MarcoFalke)faa4f22
[qa] pull-tester: Exit early when no tests are run (MarcoFalke)fa05e22
[qa] pull-tester: Don't mute zmq ImportError (MarcoFalke)
This commit is contained in:
commit
fa9d86f8c4
1 changed files with 55 additions and 56 deletions
|
@ -41,15 +41,6 @@ if 'ENABLE_UTILS' not in vars():
|
||||||
if 'ENABLE_ZMQ' not in vars():
|
if 'ENABLE_ZMQ' not in vars():
|
||||||
ENABLE_ZMQ=0
|
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
|
ENABLE_COVERAGE=0
|
||||||
|
|
||||||
#Create a set to store arguments and create the passOn string
|
#Create a set to store arguments and create the passOn string
|
||||||
|
@ -76,11 +67,25 @@ if "BITCOIND" not in os.environ:
|
||||||
if "BITCOINCLI" not in os.environ:
|
if "BITCOINCLI" not in os.environ:
|
||||||
os.environ["BITCOINCLI"] = buildDir + '/src/bitcoin-cli' + EXEEXT
|
os.environ["BITCOINCLI"] = buildDir + '/src/bitcoin-cli' + EXEEXT
|
||||||
|
|
||||||
#Disable Windows tests by default
|
|
||||||
if EXEEXT == ".exe" and "-win" not in opts:
|
if EXEEXT == ".exe" and "-win" not in opts:
|
||||||
print "Win tests currently disabled. Use -win option to enable"
|
# https://github.com/bitcoin/bitcoin/commit/d52802551752140cf41f0d9a225a43e84404d3e9
|
||||||
|
# https://github.com/bitcoin/bitcoin/pull/5677#issuecomment-136646964
|
||||||
|
print "Win tests currently disabled by default. Use -win option to enable"
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
|
if not (ENABLE_WALLET == 1 and ENABLE_UTILS == 1 and ENABLE_BITCOIND == 1):
|
||||||
|
print "No rpc tests to run. Wallet, utils, and bitcoind must all be enabled"
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
# python-zmq may not be installed. Handle this gracefully and with some helpful info
|
||||||
|
if ENABLE_ZMQ:
|
||||||
|
try:
|
||||||
|
import zmq
|
||||||
|
except ImportError as e:
|
||||||
|
print("ERROR: \"import zmq\" failed. Set ENABLE_ZMQ=0 or " \
|
||||||
|
"to run zmq tests, see dependency info in /qa/README.md.")
|
||||||
|
raise e
|
||||||
|
|
||||||
#Tests
|
#Tests
|
||||||
testScripts = [
|
testScripts = [
|
||||||
'bip68-112-113-p2p.py',
|
'bip68-112-113-p2p.py',
|
||||||
|
@ -119,6 +124,9 @@ testScripts = [
|
||||||
'p2p-versionbits-warning.py',
|
'p2p-versionbits-warning.py',
|
||||||
'importprunedfunds.py',
|
'importprunedfunds.py',
|
||||||
]
|
]
|
||||||
|
if ENABLE_ZMQ:
|
||||||
|
testScripts.append('zmq_test.py')
|
||||||
|
|
||||||
testScriptsExt = [
|
testScriptsExt = [
|
||||||
'bip9-softforks.py',
|
'bip9-softforks.py',
|
||||||
'bip65-cltv.py',
|
'bip65-cltv.py',
|
||||||
|
@ -143,11 +151,6 @@ testScriptsExt = [
|
||||||
'pruning.py', # leave pruning last as it takes a REALLY long time
|
'pruning.py', # leave pruning last as it takes a REALLY long time
|
||||||
]
|
]
|
||||||
|
|
||||||
#Enable ZMQ tests
|
|
||||||
if ENABLE_ZMQ == 1:
|
|
||||||
testScripts.append('zmq_test.py')
|
|
||||||
|
|
||||||
|
|
||||||
def runtests():
|
def runtests():
|
||||||
coverage = None
|
coverage = None
|
||||||
|
|
||||||
|
@ -155,53 +158,49 @@ def runtests():
|
||||||
coverage = RPCCoverage()
|
coverage = RPCCoverage()
|
||||||
print("Initializing coverage directory at %s\n" % coverage.dir)
|
print("Initializing coverage directory at %s\n" % coverage.dir)
|
||||||
|
|
||||||
if(ENABLE_WALLET == 1 and ENABLE_UTILS == 1 and ENABLE_BITCOIND == 1):
|
rpcTestDir = buildDir + '/qa/rpc-tests/'
|
||||||
rpcTestDir = buildDir + '/qa/rpc-tests/'
|
run_extended = '-extended' in opts
|
||||||
run_extended = '-extended' in opts
|
cov_flag = coverage.flag if coverage else ''
|
||||||
cov_flag = coverage.flag if coverage else ''
|
flags = " --srcdir %s/src %s %s" % (buildDir, cov_flag, passOn)
|
||||||
flags = " --srcdir %s/src %s %s" % (buildDir, cov_flag, passOn)
|
|
||||||
|
|
||||||
#Run Tests
|
#Run Tests
|
||||||
for i in range(len(testScripts)):
|
for i in range(len(testScripts)):
|
||||||
if (len(opts) == 0
|
if (len(opts) == 0
|
||||||
or (len(opts) == 1 and "-win" in opts )
|
or (len(opts) == 1 and "-win" in opts )
|
||||||
or run_extended
|
or run_extended
|
||||||
or testScripts[i] in opts
|
or testScripts[i] in opts
|
||||||
or re.sub(".py$", "", testScripts[i]) in opts ):
|
or re.sub(".py$", "", testScripts[i]) in opts ):
|
||||||
|
|
||||||
print("Running testscript %s%s%s ..." % (bold[1], testScripts[i], bold[0]))
|
print("Running testscript %s%s%s ..." % (bold[1], testScripts[i], bold[0]))
|
||||||
time0 = time.time()
|
time0 = time.time()
|
||||||
subprocess.check_call(
|
subprocess.check_call(
|
||||||
rpcTestDir + testScripts[i] + flags, shell=True)
|
rpcTestDir + testScripts[i] + flags, shell=True)
|
||||||
print("Duration: %s s\n" % (int(time.time() - time0)))
|
print("Duration: %s s\n" % (int(time.time() - time0)))
|
||||||
|
|
||||||
# exit if help is called so we print just one set of
|
# exit if help is called so we print just one set of
|
||||||
# instructions
|
# instructions
|
||||||
p = re.compile(" -h| --help")
|
p = re.compile(" -h| --help")
|
||||||
if p.match(passOn):
|
if p.match(passOn):
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
# Run Extended Tests
|
# Run Extended Tests
|
||||||
for i in range(len(testScriptsExt)):
|
for i in range(len(testScriptsExt)):
|
||||||
if (run_extended or testScriptsExt[i] in opts
|
if (run_extended or testScriptsExt[i] in opts
|
||||||
or re.sub(".py$", "", testScriptsExt[i]) in opts):
|
or re.sub(".py$", "", testScriptsExt[i]) in opts):
|
||||||
|
|
||||||
print(
|
print(
|
||||||
"Running 2nd level testscript "
|
"Running 2nd level testscript "
|
||||||
+ "%s%s%s ..." % (bold[1], testScriptsExt[i], bold[0]))
|
+ "%s%s%s ..." % (bold[1], testScriptsExt[i], bold[0]))
|
||||||
time0 = time.time()
|
time0 = time.time()
|
||||||
subprocess.check_call(
|
subprocess.check_call(
|
||||||
rpcTestDir + testScriptsExt[i] + flags, shell=True)
|
rpcTestDir + testScriptsExt[i] + flags, shell=True)
|
||||||
print("Duration: %s s\n" % (int(time.time() - time0)))
|
print("Duration: %s s\n" % (int(time.time() - time0)))
|
||||||
|
|
||||||
if coverage:
|
if coverage:
|
||||||
coverage.report_rpc_coverage()
|
coverage.report_rpc_coverage()
|
||||||
|
|
||||||
print("Cleaning up coverage data")
|
print("Cleaning up coverage data")
|
||||||
coverage.cleanup()
|
coverage.cleanup()
|
||||||
|
|
||||||
else:
|
|
||||||
print "No rpc tests to run. Wallet, utils, and bitcoind must all be enabled"
|
|
||||||
|
|
||||||
|
|
||||||
class RPCCoverage(object):
|
class RPCCoverage(object):
|
||||||
|
|
Loading…
Reference in a new issue