Browse Source

[qa] mininode: Add and use CONSTs

0.13
MarcoFalke 9 years ago
parent
commit
fad8cfb893
  1. 1
      qa/rpc-tests/bip68-sequence.py
  2. 6
      qa/rpc-tests/invalidblockrequest.py
  3. 2
      qa/rpc-tests/invalidtxrequest.py
  4. 4
      qa/rpc-tests/listtransactions.py
  5. 2
      qa/rpc-tests/maxuploadtarget.py
  6. 7
      qa/rpc-tests/mempool_packages.py
  7. 2
      qa/rpc-tests/prioritise_transaction.py
  8. 1
      qa/rpc-tests/replace-by-fee.py
  9. 2
      qa/rpc-tests/test_framework/blocktools.py
  10. 6
      qa/rpc-tests/test_framework/mininode.py

1
qa/rpc-tests/bip68-sequence.py

@ -13,7 +13,6 @@ from test_framework.script import *
from test_framework.mininode import * from test_framework.mininode import *
from test_framework.blocktools import * from test_framework.blocktools import *
COIN = 100000000
SEQUENCE_LOCKTIME_DISABLE_FLAG = (1<<31) SEQUENCE_LOCKTIME_DISABLE_FLAG = (1<<31)
SEQUENCE_LOCKTIME_TYPE_FLAG = (1<<22) # this means use time (0 means height) SEQUENCE_LOCKTIME_TYPE_FLAG = (1<<22) # this means use time (0 means height)
SEQUENCE_LOCKTIME_GRANULARITY = 9 # this is a bit-shift SEQUENCE_LOCKTIME_GRANULARITY = 9 # this is a bit-shift

6
qa/rpc-tests/invalidblockrequest.py

@ -78,8 +78,8 @@ class InvalidBlockRequestTest(ComparisonTestFramework):
self.block_time += 1 self.block_time += 1
# chr(81) is OP_TRUE # chr(81) is OP_TRUE
tx1 = create_transaction(self.block1.vtx[0], 0, chr(81), 50*100000000) tx1 = create_transaction(self.block1.vtx[0], 0, chr(81), 50 * COIN)
tx2 = create_transaction(tx1, 0, chr(81), 50*100000000) tx2 = create_transaction(tx1, 0, chr(81), 50 * COIN)
block2.vtx.extend([tx1, tx2]) block2.vtx.extend([tx1, tx2])
block2.hashMerkleRoot = block2.calc_merkle_root() block2.hashMerkleRoot = block2.calc_merkle_root()
@ -103,7 +103,7 @@ class InvalidBlockRequestTest(ComparisonTestFramework):
''' '''
block3 = create_block(self.tip, create_coinbase(height), self.block_time) block3 = create_block(self.tip, create_coinbase(height), self.block_time)
self.block_time += 1 self.block_time += 1
block3.vtx[0].vout[0].nValue = 100*100000000 # Too high! block3.vtx[0].vout[0].nValue = 100 * COIN # Too high!
block3.vtx[0].sha256=None block3.vtx[0].sha256=None
block3.vtx[0].calc_sha256() block3.vtx[0].calc_sha256()
block3.hashMerkleRoot = block3.calc_merkle_root() block3.hashMerkleRoot = block3.calc_merkle_root()

2
qa/rpc-tests/invalidtxrequest.py

@ -63,7 +63,7 @@ class InvalidTxRequestTest(ComparisonTestFramework):
# chr(100) is OP_NOTIF # chr(100) is OP_NOTIF
# Transaction will be rejected with code 16 (REJECT_INVALID) # Transaction will be rejected with code 16 (REJECT_INVALID)
tx1 = create_transaction(self.block1.vtx[0], 0, chr(100), 50*100000000 - 12000) tx1 = create_transaction(self.block1.vtx[0], 0, chr(100), 50 * COIN - 12000)
yield TestInstance([[tx1, RejectResult(16, 'mandatory-script-verify-flag-failed')]]) yield TestInstance([[tx1, RejectResult(16, 'mandatory-script-verify-flag-failed')]])
# TODO: test further transactions... # TODO: test further transactions...

4
qa/rpc-tests/listtransactions.py

@ -7,7 +7,7 @@
from test_framework.test_framework import BitcoinTestFramework from test_framework.test_framework import BitcoinTestFramework
from test_framework.util import * from test_framework.util import *
from test_framework.mininode import CTransaction from test_framework.mininode import CTransaction, COIN
import cStringIO import cStringIO
import binascii import binascii
@ -192,7 +192,7 @@ class ListTransactionsTest(BitcoinTestFramework):
# Replace tx3, and check that tx4 becomes unknown # Replace tx3, and check that tx4 becomes unknown
tx3_b = tx3_modified tx3_b = tx3_modified
tx3_b.vout[0].nValue -= 0.004*100000000 # bump the fee tx3_b.vout[0].nValue -= 0.004 * COIN # bump the fee
tx3_b = binascii.hexlify(tx3_b.serialize()).decode('utf-8') tx3_b = binascii.hexlify(tx3_b.serialize()).decode('utf-8')
tx3_b_signed = self.nodes[0].signrawtransaction(tx3_b)['hex'] tx3_b_signed = self.nodes[0].signrawtransaction(tx3_b)['hex']
txid_3b = self.nodes[0].sendrawtransaction(tx3_b_signed, True) txid_3b = self.nodes[0].sendrawtransaction(tx3_b_signed, True)

2
qa/rpc-tests/maxuploadtarget.py

@ -176,7 +176,7 @@ class MaxUploadTest(BitcoinTestFramework):
getdata_request.inv.append(CInv(2, big_old_block)) getdata_request.inv.append(CInv(2, big_old_block))
max_bytes_per_day = 200*1024*1024 max_bytes_per_day = 200*1024*1024
daily_buffer = 144 * 1000000 daily_buffer = 144 * MAX_BLOCK_SIZE
max_bytes_available = max_bytes_per_day - daily_buffer max_bytes_available = max_bytes_per_day - daily_buffer
success_count = max_bytes_available / old_block_size success_count = max_bytes_available / old_block_size

7
qa/rpc-tests/mempool_packages.py

@ -59,13 +59,12 @@ class MempoolPackagesTest(BitcoinTestFramework):
descendant_count = 1 descendant_count = 1
descendant_fees = 0 descendant_fees = 0
descendant_size = 0 descendant_size = 0
SATOSHIS = 100000000
for x in reversed(chain): for x in reversed(chain):
assert_equal(mempool[x]['descendantcount'], descendant_count) assert_equal(mempool[x]['descendantcount'], descendant_count)
descendant_fees += mempool[x]['fee'] descendant_fees += mempool[x]['fee']
assert_equal(mempool[x]['modifiedfee'], mempool[x]['fee']) assert_equal(mempool[x]['modifiedfee'], mempool[x]['fee'])
assert_equal(mempool[x]['descendantfees'], SATOSHIS*descendant_fees) assert_equal(mempool[x]['descendantfees'], descendant_fees * COIN)
descendant_size += mempool[x]['size'] descendant_size += mempool[x]['size']
assert_equal(mempool[x]['descendantsize'], descendant_size) assert_equal(mempool[x]['descendantsize'], descendant_size)
descendant_count += 1 descendant_count += 1
@ -78,7 +77,7 @@ class MempoolPackagesTest(BitcoinTestFramework):
descendant_fees = 0 descendant_fees = 0
for x in reversed(chain): for x in reversed(chain):
descendant_fees += mempool[x]['fee'] descendant_fees += mempool[x]['fee']
assert_equal(mempool[x]['descendantfees'], SATOSHIS*descendant_fees+1000) assert_equal(mempool[x]['descendantfees'], descendant_fees * COIN + 1000)
# Adding one more transaction on to the chain should fail. # Adding one more transaction on to the chain should fail.
try: try:
@ -106,7 +105,7 @@ class MempoolPackagesTest(BitcoinTestFramework):
descendant_fees += mempool[x]['fee'] descendant_fees += mempool[x]['fee']
if (x == chain[-1]): if (x == chain[-1]):
assert_equal(mempool[x]['modifiedfee'], mempool[x]['fee']+satoshi_round(0.00002)) assert_equal(mempool[x]['modifiedfee'], mempool[x]['fee']+satoshi_round(0.00002))
assert_equal(mempool[x]['descendantfees'], SATOSHIS*descendant_fees+2000) assert_equal(mempool[x]['descendantfees'], descendant_fees * COIN + 2000)
# TODO: check that node1's mempool is as expected # TODO: check that node1's mempool is as expected

2
qa/rpc-tests/prioritise_transaction.py

@ -9,8 +9,8 @@
from test_framework.test_framework import BitcoinTestFramework from test_framework.test_framework import BitcoinTestFramework
from test_framework.util import * from test_framework.util import *
from test_framework.mininode import COIN
COIN = 100000000
class PrioritiseTransactionTest(BitcoinTestFramework): class PrioritiseTransactionTest(BitcoinTestFramework):

1
qa/rpc-tests/replace-by-fee.py

@ -13,7 +13,6 @@ from test_framework.script import *
from test_framework.mininode import * from test_framework.mininode import *
import binascii import binascii
COIN = 100000000
MAX_REPLACEMENT_LIMIT = 100 MAX_REPLACEMENT_LIMIT = 100
def satoshi_round(amount): def satoshi_round(amount):

2
qa/rpc-tests/test_framework/blocktools.py

@ -45,7 +45,7 @@ def create_coinbase(height, pubkey = None):
coinbase.vin.append(CTxIn(COutPoint(0, 0xffffffff), coinbase.vin.append(CTxIn(COutPoint(0, 0xffffffff),
ser_string(serialize_script_num(height)), 0xffffffff)) ser_string(serialize_script_num(height)), 0xffffffff))
coinbaseoutput = CTxOut() coinbaseoutput = CTxOut()
coinbaseoutput.nValue = 50*100000000 coinbaseoutput.nValue = 50 * COIN
halvings = int(height/150) # regtest halvings = int(height/150) # regtest
coinbaseoutput.nValue >>= halvings coinbaseoutput.nValue >>= halvings
if (pubkey != None): if (pubkey != None):

6
qa/rpc-tests/test_framework/mininode.py

@ -38,6 +38,8 @@ MY_SUBVERSION = "/python-mininode-tester:0.0.1/"
MAX_INV_SZ = 50000 MAX_INV_SZ = 50000
MAX_BLOCK_SIZE = 1000000 MAX_BLOCK_SIZE = 1000000
COIN = 100000000L # 1 btc in satoshis
# Keep our own socket map for asyncore, so that we can track disconnects # Keep our own socket map for asyncore, so that we can track disconnects
# ourselves (to workaround an issue with closing an asyncore socket when # ourselves (to workaround an issue with closing an asyncore socket when
# using select) # using select)
@ -377,7 +379,7 @@ class CTxOut(object):
def __repr__(self): def __repr__(self):
return "CTxOut(nValue=%i.%08i scriptPubKey=%s)" \ return "CTxOut(nValue=%i.%08i scriptPubKey=%s)" \
% (self.nValue // 100000000, self.nValue % 100000000, % (self.nValue // COIN, self.nValue % COIN,
binascii.hexlify(self.scriptPubKey)) binascii.hexlify(self.scriptPubKey))
@ -426,7 +428,7 @@ class CTransaction(object):
def is_valid(self): def is_valid(self):
self.calc_sha256() self.calc_sha256()
for tout in self.vout: for tout in self.vout:
if tout.nValue < 0 or tout.nValue > 21000000L * 100000000L: if tout.nValue < 0 or tout.nValue > 21000000 * COIN:
return False return False
return True return True

Loading…
Cancel
Save