diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/functional/README.md | 2 | ||||
-rwxr-xr-x | test/functional/feature_segwit.py | 6 | ||||
-rwxr-xr-x | test/functional/rpc_blockchain.py | 2 | ||||
-rwxr-xr-x | test/functional/rpc_rawtransaction.py | 18 | ||||
-rwxr-xr-x | test/functional/wallet_basic.py | 6 | ||||
-rw-r--r-- | test/lint/lint-python-dead-code-whitelist | 46 | ||||
-rwxr-xr-x | test/lint/lint-python-dead-code.sh | 23 |
7 files changed, 18 insertions, 85 deletions
diff --git a/test/functional/README.md b/test/functional/README.md index 5e3009e6af..197c2afbe4 100644 --- a/test/functional/README.md +++ b/test/functional/README.md @@ -116,7 +116,7 @@ Basic code to support P2P connectivity to a bitcoind. Utilities for manipulating transaction scripts (originally from python-bitcoinlib) #### [test_framework/key.py](test_framework/key.py) -Wrapper around OpenSSL EC_Key (originally from python-bitcoinlib) +Test-only secp256k1 elliptic curve implementation #### [test_framework/bignum.py](test_framework/bignum.py) Helpers for script.py diff --git a/test/functional/feature_segwit.py b/test/functional/feature_segwit.py index d2826dd1b7..c69c7f90e8 100755 --- a/test/functional/feature_segwit.py +++ b/test/functional/feature_segwit.py @@ -257,7 +257,7 @@ class SegWitTest(BitcoinTestFramework): tx.vin.append(CTxIn(COutPoint(int(txid2, 16), 0), b"")) tx.vout.append(CTxOut(int(49.95 * COIN), CScript([OP_TRUE, OP_DROP] * 15 + [OP_TRUE]))) # Huge fee tx.calc_sha256() - txid3 = self.nodes[0].sendrawtransaction(ToHex(tx), 0) + txid3 = self.nodes[0].sendrawtransaction(hexstring=ToHex(tx), maxfeerate=0) assert tx.wit.is_null() assert txid3 in self.nodes[0].getrawmempool() @@ -566,7 +566,7 @@ class SegWitTest(BitcoinTestFramework): tx.vout.append(CTxOut(10000000, i)) tx.rehash() signresults = self.nodes[0].signrawtransactionwithwallet(tx.serialize_without_witness().hex())['hex'] - txid = self.nodes[0].sendrawtransaction(signresults, 0) + txid = self.nodes[0].sendrawtransaction(hexstring=signresults, maxfeerate=0) txs_mined[txid] = self.nodes[0].generate(1)[0] self.sync_blocks() watchcount = 0 @@ -618,7 +618,7 @@ class SegWitTest(BitcoinTestFramework): tx.vout.append(CTxOut(0, CScript())) tx.rehash() signresults = self.nodes[0].signrawtransactionwithwallet(tx.serialize_without_witness().hex())['hex'] - self.nodes[0].sendrawtransaction(signresults, 0) + self.nodes[0].sendrawtransaction(hexstring=signresults, maxfeerate=0) self.nodes[0].generate(1) self.sync_blocks() diff --git a/test/functional/rpc_blockchain.py b/test/functional/rpc_blockchain.py index 266a0d6cd2..278ce6d911 100755 --- a/test/functional/rpc_blockchain.py +++ b/test/functional/rpc_blockchain.py @@ -134,7 +134,7 @@ class BlockchainTest(BitcoinTestFramework): 'bip9': { 'status': 'started', 'bit': 28, - 'startTime': 0, + 'start_time': 0, 'timeout': 0x7fffffffffffffff, # testdummy does not have a timeout so is set to the max int64 value 'since': 144, 'statistics': { diff --git a/test/functional/rpc_rawtransaction.py b/test/functional/rpc_rawtransaction.py index eb98334988..ca0d47a5f8 100755 --- a/test/functional/rpc_rawtransaction.py +++ b/test/functional/rpc_rawtransaction.py @@ -438,48 +438,50 @@ class RawTransactionsTest(BitcoinTestFramework): self.log.info('sendrawtransaction/testmempoolaccept with maxfeerate') - # Test a transaction with small fee + # Test a transaction with a small fee. txId = self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(), 1.0) rawTx = self.nodes[0].getrawtransaction(txId, True) vout = next(o for o in rawTx['vout'] if o['value'] == Decimal('1.00000000')) self.sync_all() inputs = [{ "txid" : txId, "vout" : vout['n'] }] - outputs = { self.nodes[0].getnewaddress() : Decimal("0.999990000") } # 10000 sat fee + # Fee 10,000 satoshis, (1 - (10000 sat * 0.00000001 BTC/sat)) = 0.9999 + outputs = { self.nodes[0].getnewaddress() : Decimal("0.99990000") } rawTx = self.nodes[2].createrawtransaction(inputs, outputs) rawTxSigned = self.nodes[2].signrawtransactionwithwallet(rawTx) assert_equal(rawTxSigned['complete'], True) - # 10000 sat fee, ~100 b transaction, fee rate should land around 100 sat/b = 0.00100000 BTC/kB + # Fee 10,000 satoshis, ~100 b transaction, fee rate should land around 100 sat/byte = 0.00100000 BTC/kB # Thus, testmempoolaccept should reject testres = self.nodes[2].testmempoolaccept([rawTxSigned['hex']], 0.00001000)[0] assert_equal(testres['allowed'], False) assert_equal(testres['reject-reason'], '256: absurdly-high-fee') # and sendrawtransaction should throw assert_raises_rpc_error(-26, "absurdly-high-fee", self.nodes[2].sendrawtransaction, rawTxSigned['hex'], 0.00001000) - # And below calls should both succeed + # and the following calls should both succeed testres = self.nodes[2].testmempoolaccept(rawtxs=[rawTxSigned['hex']])[0] assert_equal(testres['allowed'], True) self.nodes[2].sendrawtransaction(hexstring=rawTxSigned['hex']) - # Test a transaction with large fee + # Test a transaction with a large fee. txId = self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(), 1.0) rawTx = self.nodes[0].getrawtransaction(txId, True) vout = next(o for o in rawTx['vout'] if o['value'] == Decimal('1.00000000')) self.sync_all() inputs = [{ "txid" : txId, "vout" : vout['n'] }] - outputs = { self.nodes[0].getnewaddress() : Decimal("0.98000000") } # 2000000 sat fee + # Fee 2,000,000 satoshis, (1 - (2000000 sat * 0.00000001 BTC/sat)) = 0.98 + outputs = { self.nodes[0].getnewaddress() : Decimal("0.98000000") } rawTx = self.nodes[2].createrawtransaction(inputs, outputs) rawTxSigned = self.nodes[2].signrawtransactionwithwallet(rawTx) assert_equal(rawTxSigned['complete'], True) - # 2000000 sat fee, ~100 b transaction, fee rate should land around 20000 sat/b = 0.20000000 BTC/kB + # Fee 2,000,000 satoshis, ~100 b transaction, fee rate should land around 20,000 sat/byte = 0.20000000 BTC/kB # Thus, testmempoolaccept should reject testres = self.nodes[2].testmempoolaccept([rawTxSigned['hex']])[0] assert_equal(testres['allowed'], False) assert_equal(testres['reject-reason'], '256: absurdly-high-fee') # and sendrawtransaction should throw assert_raises_rpc_error(-26, "absurdly-high-fee", self.nodes[2].sendrawtransaction, rawTxSigned['hex']) - # And below calls should both succeed + # and the following calls should both succeed testres = self.nodes[2].testmempoolaccept(rawtxs=[rawTxSigned['hex']], maxfeerate='0.20000000')[0] assert_equal(testres['allowed'], True) self.nodes[2].sendrawtransaction(hexstring=rawTxSigned['hex'], maxfeerate='0.20000000') diff --git a/test/functional/wallet_basic.py b/test/functional/wallet_basic.py index 5b1c672a48..96ea5c9c35 100755 --- a/test/functional/wallet_basic.py +++ b/test/functional/wallet_basic.py @@ -169,8 +169,8 @@ class WalletTest(BitcoinTestFramework): txns_to_send.append(self.nodes[0].signrawtransactionwithwallet(raw_tx)) # Have node 1 (miner) send the transactions - self.nodes[1].sendrawtransaction(txns_to_send[0]["hex"], 0) - self.nodes[1].sendrawtransaction(txns_to_send[1]["hex"], 0) + self.nodes[1].sendrawtransaction(hexstring=txns_to_send[0]["hex"], maxfeerate=0) + self.nodes[1].sendrawtransaction(hexstring=txns_to_send[1]["hex"], maxfeerate=0) # Have node1 mine a block to confirm transactions: self.nodes[1].generate(1) @@ -433,7 +433,7 @@ class WalletTest(BitcoinTestFramework): # Split into two chains rawtx = self.nodes[0].createrawtransaction([{"txid": singletxid, "vout": 0}], {chain_addrs[0]: node0_balance / 2 - Decimal('0.01'), chain_addrs[1]: node0_balance / 2 - Decimal('0.01')}) signedtx = self.nodes[0].signrawtransactionwithwallet(rawtx) - singletxid = self.nodes[0].sendrawtransaction(signedtx["hex"], 0) + singletxid = self.nodes[0].sendrawtransaction(hexstring=signedtx["hex"], maxfeerate=0) self.nodes[0].generate(1) # Make a long chain of unconfirmed payments without hitting mempool limit diff --git a/test/lint/lint-python-dead-code-whitelist b/test/lint/lint-python-dead-code-whitelist deleted file mode 100644 index 33bb7b44fa..0000000000 --- a/test/lint/lint-python-dead-code-whitelist +++ /dev/null @@ -1,46 +0,0 @@ -BadInputOutpointIndex # unused class (test/functional/data/invalid_txs.py) -_.carbon_path # unused attribute (contrib/macdeploy/custom_dsstore.py) -connection_lost # unused function (test/functional/test_framework/mininode.py) -connection_made # unused function (test/functional/test_framework/mininode.py) -_.converter # unused attribute (test/functional/test_framework/test_framework.py) -_.daemon # unused attribute (test/functional/test_framework/socks5.py) -data_received # unused function (test/functional/test_framework/mininode.py) -DuplicateInput # unused class (test/functional/data/invalid_txs.py) -DisabledOpcodeTemplates # unused class (test/functional/data/invalid_txs.py) -_.filename # unused attribute (contrib/macdeploy/custom_dsstore.py) -InvalidOPIFConstruction # unused class (test/functional/data/invalid_txs.py) -_.is_compressed # unused property (test/functional/test_framework/key.py) -legacy # unused variable (test/functional/test_framework/address.py) -msg_generic # unused class (test/functional/test_framework/messages.py) -NonexistentInput # unused class (test/functional/data/invalid_txs.py) -on_addr # unused function (test/functional/test_framework/mininode.py) -on_blocktxn # unused function (test/functional/test_framework/mininode.py) -on_block # unused function (test/functional/test_framework/mininode.py) -on_cmpctblock # unused function (test/functional/test_framework/mininode.py) -on_feefilter # unused function (test/functional/test_framework/mininode.py) -on_getaddr # unused function (test/functional/test_framework/mininode.py) -on_getblocks # unused function (test/functional/test_framework/mininode.py) -on_getblocktxn # unused function (test/functional/test_framework/mininode.py) -on_getdata # unused function (test/functional/test_framework/mininode.py) -on_getheaders # unused function (test/functional/test_framework/mininode.py) -on_headers # unused function (test/functional/test_framework/mininode.py) -on_inv # unused function (test/functional/test_framework/mininode.py) -on_mempool # unused function (test/functional/test_framework/mininode.py) -on_notfound # unused function (test/functional/test_framework/mininode.py) -on_ping # unused function (test/functional/test_framework/mininode.py) -on_pong # unused function (test/functional/test_framework/mininode.py) -on_reject # unused function (test/functional/test_framework/mininode.py) -on_sendcmpct # unused function (test/functional/test_framework/mininode.py) -on_sendheaders # unused function (test/functional/test_framework/mininode.py) -on_tx # unused function (test/functional/test_framework/mininode.py) -on_verack # unused function (test/functional/test_framework/mininode.py) -on_version # unused function (test/functional/test_framework/mininode.py) -_.optionxform # unused attribute (test/util/bitcoin-util-test.py) -OutputMissing # unused class (test/functional/data/invalid_txs.py) -_.posix_path # unused attribute (contrib/macdeploy/custom_dsstore.py) -profile_with_perf # unused function (test/functional/test_framework/test_node.py) -SizeTooSmall # unused class (test/functional/data/invalid_txs.py) -SpendNegative # unused class (test/functional/data/invalid_txs.py) -SpendTooMuch # unused class (test/functional/data/invalid_txs.py) -TooManySigops # unused class (test/functional/data/invalid_txs.py) -verify_ecdsa # unused function (test/functional/test_framework/key.py) diff --git a/test/lint/lint-python-dead-code.sh b/test/lint/lint-python-dead-code.sh deleted file mode 100755 index af37d393e8..0000000000 --- a/test/lint/lint-python-dead-code.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash -# -# Copyright (c) 2018 The Bitcoin Core developers -# Distributed under the MIT software license, see the accompanying -# file COPYING or http://www.opensource.org/licenses/mit-license.php. -# -# Find dead Python code. - -export LC_ALL=C - -if ! command -v vulture > /dev/null; then - echo "Skipping Python dead code linting since vulture is not installed. Install by running \"pip3 install vulture\"" - exit 0 -fi - -VULTURE_SUPPRESSIONS=$(dirname "${BASH_SOURCE[0]}")/lint-python-dead-code-whitelist -if ! vulture \ - --min-confidence 60 \ - $(git rev-parse --show-toplevel) \ - "${VULTURE_SUPPRESSIONS}"; then - echo "False positives? Suppressions can be added to ${VULTURE_SUPPRESSIONS}" - exit 1 -fi |