mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-12 06:58:57 +01:00
Previously, each NodeConnCB had its own lock to synchronize data structures used by the testing thread and the networking thread, and NodeConn provided a separate additional lock for synchronizing access to each send buffer. This commit replaces those locks with a single global lock (mininode_lock) that we use to synchronize access to all data structures shared by the two threads. Updates comptool and maxblocksinflight to use the new synchronization semantics, eliminating previous race conditions within comptool, and re-enables invalidblockrequest.py in travis.
48 lines
1.2 KiB
Bash
Executable File
48 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
CURDIR=$(cd $(dirname "$0"); pwd)
|
|
# Get BUILDDIR and REAL_BITCOIND
|
|
. "${CURDIR}/tests-config.sh"
|
|
|
|
export BITCOINCLI=${BUILDDIR}/qa/pull-tester/run-bitcoin-cli
|
|
export BITCOIND=${REAL_BITCOIND}
|
|
|
|
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'
|
|
'txn_doublespend.py --mineblock'
|
|
'getchaintips.py'
|
|
'rest.py'
|
|
'mempool_spendcoinbase.py'
|
|
'mempool_coinbase_spends.py'
|
|
'httpbasics.py'
|
|
'zapwallettxes.py'
|
|
'proxy_test.py'
|
|
'merkle_blocks.py'
|
|
# 'forknotify.py'
|
|
'maxblocksinflight.py'
|
|
'invalidblockrequest.py'
|
|
);
|
|
if [ "x${ENABLE_BITCOIND}${ENABLE_UTILS}${ENABLE_WALLET}" = "x111" ]; then
|
|
for (( i = 0; i < ${#testScripts[@]}; i++ ))
|
|
do
|
|
if [ -z "$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"
|
|
fi
|
|
done
|
|
else
|
|
echo "No rpc tests to run. Wallet, utils, and bitcoind must all be enabled"
|
|
fi
|