[qa] Fix pyton syntax in rpc tests
This commit is contained in:
parent
17ef279304
commit
7777994846
34 changed files with 80 additions and 129 deletions
|
@ -10,7 +10,7 @@ from test_framework.mininode import CTransaction, NetworkThread
|
||||||
from test_framework.blocktools import create_coinbase, create_block
|
from test_framework.blocktools import create_coinbase, create_block
|
||||||
from test_framework.comptool import TestInstance, TestManager
|
from test_framework.comptool import TestInstance, TestManager
|
||||||
from test_framework.script import CScript, OP_1NEGATE, OP_CHECKLOCKTIMEVERIFY, OP_DROP
|
from test_framework.script import CScript, OP_1NEGATE, OP_CHECKLOCKTIMEVERIFY, OP_DROP
|
||||||
from binascii import hexlify, unhexlify
|
from binascii import unhexlify
|
||||||
import cStringIO
|
import cStringIO
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,6 @@
|
||||||
|
|
||||||
from test_framework.test_framework import BitcoinTestFramework
|
from test_framework.test_framework import BitcoinTestFramework
|
||||||
from test_framework.util import *
|
from test_framework.util import *
|
||||||
import os
|
|
||||||
import shutil
|
|
||||||
|
|
||||||
class BIP65Test(BitcoinTestFramework):
|
class BIP65Test(BitcoinTestFramework):
|
||||||
|
|
||||||
|
@ -46,7 +44,7 @@ class BIP65Test(BitcoinTestFramework):
|
||||||
self.nodes[2].generate(1)
|
self.nodes[2].generate(1)
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
if (self.nodes[0].getblockcount() != cnt + 851):
|
if (self.nodes[0].getblockcount() != cnt + 851):
|
||||||
raise AssertionFailure("Failed to mine a version=4 blocks")
|
raise AssertionError("Failed to mine a version=4 blocks")
|
||||||
|
|
||||||
# TODO: check that new CHECKLOCKTIMEVERIFY rules are enforced
|
# TODO: check that new CHECKLOCKTIMEVERIFY rules are enforced
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ from test_framework.mininode import CTransaction, NetworkThread
|
||||||
from test_framework.blocktools import create_coinbase, create_block
|
from test_framework.blocktools import create_coinbase, create_block
|
||||||
from test_framework.comptool import TestInstance, TestManager
|
from test_framework.comptool import TestInstance, TestManager
|
||||||
from test_framework.script import CScript
|
from test_framework.script import CScript
|
||||||
from binascii import hexlify, unhexlify
|
from binascii import unhexlify
|
||||||
import cStringIO
|
import cStringIO
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,6 @@
|
||||||
|
|
||||||
from test_framework.test_framework import BitcoinTestFramework
|
from test_framework.test_framework import BitcoinTestFramework
|
||||||
from test_framework.util import *
|
from test_framework.util import *
|
||||||
import os
|
|
||||||
import shutil
|
|
||||||
|
|
||||||
class BIP66Test(BitcoinTestFramework):
|
class BIP66Test(BitcoinTestFramework):
|
||||||
|
|
||||||
|
@ -46,7 +44,7 @@ class BIP66Test(BitcoinTestFramework):
|
||||||
self.nodes[2].generate(1)
|
self.nodes[2].generate(1)
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
if (self.nodes[0].getblockcount() != cnt + 851):
|
if (self.nodes[0].getblockcount() != cnt + 851):
|
||||||
raise AssertionFailure("Failed to mine a version=3 blocks")
|
raise AssertionError("Failed to mine a version=3 blocks")
|
||||||
|
|
||||||
# TODO: check that new DERSIG rules are enforced
|
# TODO: check that new DERSIG rules are enforced
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
# Test RPC calls related to blockchain state.
|
# Test RPC calls related to blockchain state.
|
||||||
#
|
#
|
||||||
|
|
||||||
import decimal
|
from decimal import Decimal
|
||||||
|
|
||||||
from test_framework.test_framework import BitcoinTestFramework
|
from test_framework.test_framework import BitcoinTestFramework
|
||||||
from test_framework.util import (
|
from test_framework.util import (
|
||||||
|
@ -39,7 +39,7 @@ class BlockchainTest(BitcoinTestFramework):
|
||||||
node = self.nodes[0]
|
node = self.nodes[0]
|
||||||
res = node.gettxoutsetinfo()
|
res = node.gettxoutsetinfo()
|
||||||
|
|
||||||
assert_equal(res[u'total_amount'], decimal.Decimal('8725.00000000'))
|
assert_equal(res[u'total_amount'], Decimal('8725.00000000'))
|
||||||
assert_equal(res[u'transactions'], 200)
|
assert_equal(res[u'transactions'], 200)
|
||||||
assert_equal(res[u'height'], 200)
|
assert_equal(res[u'height'], 200)
|
||||||
assert_equal(res[u'txouts'], 200)
|
assert_equal(res[u'txouts'], 200)
|
||||||
|
|
|
@ -10,6 +10,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 *
|
||||||
|
|
||||||
|
|
||||||
class DisableWalletTest (BitcoinTestFramework):
|
class DisableWalletTest (BitcoinTestFramework):
|
||||||
|
|
||||||
def setup_chain(self):
|
def setup_chain(self):
|
||||||
|
|
|
@ -9,8 +9,6 @@
|
||||||
|
|
||||||
from test_framework.test_framework import BitcoinTestFramework
|
from test_framework.test_framework import BitcoinTestFramework
|
||||||
from test_framework.util import *
|
from test_framework.util import *
|
||||||
import os
|
|
||||||
import shutil
|
|
||||||
|
|
||||||
class ForkNotifyTest(BitcoinTestFramework):
|
class ForkNotifyTest(BitcoinTestFramework):
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,6 @@
|
||||||
|
|
||||||
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 pprint import pprint
|
|
||||||
from time import sleep
|
|
||||||
|
|
||||||
# Create one-input, one-output, no-fee transaction:
|
# Create one-input, one-output, no-fee transaction:
|
||||||
class RawTransactionsTest(BitcoinTestFramework):
|
class RawTransactionsTest(BitcoinTestFramework):
|
||||||
|
@ -53,11 +51,11 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
watchonly_amount = 200
|
watchonly_amount = 200
|
||||||
self.nodes[3].importpubkey(watchonly_pubkey, "", True)
|
self.nodes[3].importpubkey(watchonly_pubkey, "", True)
|
||||||
watchonly_txid = self.nodes[0].sendtoaddress(watchonly_address, watchonly_amount)
|
watchonly_txid = self.nodes[0].sendtoaddress(watchonly_address, watchonly_amount)
|
||||||
self.nodes[0].sendtoaddress(self.nodes[3].getnewaddress(), watchonly_amount / 10);
|
self.nodes[0].sendtoaddress(self.nodes[3].getnewaddress(), watchonly_amount / 10)
|
||||||
|
|
||||||
self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(),1.5);
|
self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(), 1.5)
|
||||||
self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(),1.0);
|
self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(), 1.0)
|
||||||
self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(),5.0);
|
self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(), 5.0)
|
||||||
|
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
self.nodes[0].generate(1)
|
self.nodes[0].generate(1)
|
||||||
|
@ -130,7 +128,7 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
for aUtx in listunspent:
|
for aUtx in listunspent:
|
||||||
if aUtx['amount'] == 5.0:
|
if aUtx['amount'] == 5.0:
|
||||||
utx = aUtx
|
utx = aUtx
|
||||||
break;
|
break
|
||||||
|
|
||||||
assert_equal(utx!=False, True)
|
assert_equal(utx!=False, True)
|
||||||
|
|
||||||
|
@ -159,7 +157,7 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
for aUtx in listunspent:
|
for aUtx in listunspent:
|
||||||
if aUtx['amount'] == 5.0:
|
if aUtx['amount'] == 5.0:
|
||||||
utx = aUtx
|
utx = aUtx
|
||||||
break;
|
break
|
||||||
|
|
||||||
assert_equal(utx!=False, True)
|
assert_equal(utx!=False, True)
|
||||||
|
|
||||||
|
@ -189,7 +187,7 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
for aUtx in listunspent:
|
for aUtx in listunspent:
|
||||||
if aUtx['amount'] == 1.0:
|
if aUtx['amount'] == 1.0:
|
||||||
utx = aUtx
|
utx = aUtx
|
||||||
break;
|
break
|
||||||
|
|
||||||
assert_equal(utx!=False, True)
|
assert_equal(utx!=False, True)
|
||||||
|
|
||||||
|
@ -314,7 +312,7 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
except JSONRPCException,e:
|
except JSONRPCException,e:
|
||||||
errorString = e.error['message']
|
errorString = e.error['message']
|
||||||
|
|
||||||
assert_equal("Insufficient" in errorString, True);
|
assert("Insufficient" in errorString)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -326,11 +324,11 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
fundedTx = self.nodes[0].fundrawtransaction(rawTx)
|
fundedTx = self.nodes[0].fundrawtransaction(rawTx)
|
||||||
|
|
||||||
#create same transaction over sendtoaddress
|
#create same transaction over sendtoaddress
|
||||||
txId = self.nodes[0].sendtoaddress(self.nodes[1].getnewaddress(), 1.1);
|
txId = self.nodes[0].sendtoaddress(self.nodes[1].getnewaddress(), 1.1)
|
||||||
signedFee = self.nodes[0].getrawmempool(True)[txId]['fee']
|
signedFee = self.nodes[0].getrawmempool(True)[txId]['fee']
|
||||||
|
|
||||||
#compare fee
|
#compare fee
|
||||||
feeDelta = Decimal(fundedTx['fee']) - Decimal(signedFee);
|
feeDelta = Decimal(fundedTx['fee']) - Decimal(signedFee)
|
||||||
assert(feeDelta >= 0 and feeDelta <= feeTolerance)
|
assert(feeDelta >= 0 and feeDelta <= feeTolerance)
|
||||||
############################################################
|
############################################################
|
||||||
|
|
||||||
|
@ -341,11 +339,11 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
rawTx = self.nodes[0].createrawtransaction(inputs, outputs)
|
rawTx = self.nodes[0].createrawtransaction(inputs, outputs)
|
||||||
fundedTx = self.nodes[0].fundrawtransaction(rawTx)
|
fundedTx = self.nodes[0].fundrawtransaction(rawTx)
|
||||||
#create same transaction over sendtoaddress
|
#create same transaction over sendtoaddress
|
||||||
txId = self.nodes[0].sendmany("", outputs);
|
txId = self.nodes[0].sendmany("", outputs)
|
||||||
signedFee = self.nodes[0].getrawmempool(True)[txId]['fee']
|
signedFee = self.nodes[0].getrawmempool(True)[txId]['fee']
|
||||||
|
|
||||||
#compare fee
|
#compare fee
|
||||||
feeDelta = Decimal(fundedTx['fee']) - Decimal(signedFee);
|
feeDelta = Decimal(fundedTx['fee']) - Decimal(signedFee)
|
||||||
assert(feeDelta >= 0 and feeDelta <= feeTolerance)
|
assert(feeDelta >= 0 and feeDelta <= feeTolerance)
|
||||||
############################################################
|
############################################################
|
||||||
|
|
||||||
|
@ -368,11 +366,11 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
fundedTx = self.nodes[0].fundrawtransaction(rawTx)
|
fundedTx = self.nodes[0].fundrawtransaction(rawTx)
|
||||||
|
|
||||||
#create same transaction over sendtoaddress
|
#create same transaction over sendtoaddress
|
||||||
txId = self.nodes[0].sendtoaddress(mSigObj, 1.1);
|
txId = self.nodes[0].sendtoaddress(mSigObj, 1.1)
|
||||||
signedFee = self.nodes[0].getrawmempool(True)[txId]['fee']
|
signedFee = self.nodes[0].getrawmempool(True)[txId]['fee']
|
||||||
|
|
||||||
#compare fee
|
#compare fee
|
||||||
feeDelta = Decimal(fundedTx['fee']) - Decimal(signedFee);
|
feeDelta = Decimal(fundedTx['fee']) - Decimal(signedFee)
|
||||||
assert(feeDelta >= 0 and feeDelta <= feeTolerance)
|
assert(feeDelta >= 0 and feeDelta <= feeTolerance)
|
||||||
############################################################
|
############################################################
|
||||||
|
|
||||||
|
@ -401,11 +399,11 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
fundedTx = self.nodes[0].fundrawtransaction(rawTx)
|
fundedTx = self.nodes[0].fundrawtransaction(rawTx)
|
||||||
|
|
||||||
#create same transaction over sendtoaddress
|
#create same transaction over sendtoaddress
|
||||||
txId = self.nodes[0].sendtoaddress(mSigObj, 1.1);
|
txId = self.nodes[0].sendtoaddress(mSigObj, 1.1)
|
||||||
signedFee = self.nodes[0].getrawmempool(True)[txId]['fee']
|
signedFee = self.nodes[0].getrawmempool(True)[txId]['fee']
|
||||||
|
|
||||||
#compare fee
|
#compare fee
|
||||||
feeDelta = Decimal(fundedTx['fee']) - Decimal(signedFee);
|
feeDelta = Decimal(fundedTx['fee']) - Decimal(signedFee)
|
||||||
assert(feeDelta >= 0 and feeDelta <= feeTolerance)
|
assert(feeDelta >= 0 and feeDelta <= feeTolerance)
|
||||||
############################################################
|
############################################################
|
||||||
|
|
||||||
|
@ -424,7 +422,7 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
|
|
||||||
|
|
||||||
# send 1.2 BTC to msig addr
|
# send 1.2 BTC to msig addr
|
||||||
txId = self.nodes[0].sendtoaddress(mSigObj, 1.2);
|
txId = self.nodes[0].sendtoaddress(mSigObj, 1.2)
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
self.nodes[1].generate(1)
|
self.nodes[1].generate(1)
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
|
@ -466,7 +464,7 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
|
|
||||||
error = False
|
error = False
|
||||||
try:
|
try:
|
||||||
self.nodes[1].sendtoaddress(self.nodes[0].getnewaddress(), 1.2);
|
self.nodes[1].sendtoaddress(self.nodes[0].getnewaddress(), 1.2)
|
||||||
except:
|
except:
|
||||||
error = True
|
error = True
|
||||||
assert(error)
|
assert(error)
|
||||||
|
@ -496,13 +494,13 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
###############################################
|
###############################################
|
||||||
|
|
||||||
#empty node1, send some small coins from node0 to node1
|
#empty node1, send some small coins from node0 to node1
|
||||||
self.nodes[1].sendtoaddress(self.nodes[0].getnewaddress(), self.nodes[1].getbalance(), "", "", True);
|
self.nodes[1].sendtoaddress(self.nodes[0].getnewaddress(), self.nodes[1].getbalance(), "", "", True)
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
self.nodes[0].generate(1)
|
self.nodes[0].generate(1)
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
|
|
||||||
for i in range(0,20):
|
for i in range(0,20):
|
||||||
self.nodes[0].sendtoaddress(self.nodes[1].getnewaddress(), 0.01);
|
self.nodes[0].sendtoaddress(self.nodes[1].getnewaddress(), 0.01)
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
self.nodes[0].generate(1)
|
self.nodes[0].generate(1)
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
|
@ -514,11 +512,11 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
fundedTx = self.nodes[1].fundrawtransaction(rawTx)
|
fundedTx = self.nodes[1].fundrawtransaction(rawTx)
|
||||||
|
|
||||||
#create same transaction over sendtoaddress
|
#create same transaction over sendtoaddress
|
||||||
txId = self.nodes[1].sendmany("", outputs);
|
txId = self.nodes[1].sendmany("", outputs)
|
||||||
signedFee = self.nodes[1].getrawmempool(True)[txId]['fee']
|
signedFee = self.nodes[1].getrawmempool(True)[txId]['fee']
|
||||||
|
|
||||||
#compare fee
|
#compare fee
|
||||||
feeDelta = Decimal(fundedTx['fee']) - Decimal(signedFee);
|
feeDelta = Decimal(fundedTx['fee']) - Decimal(signedFee)
|
||||||
assert(feeDelta >= 0 and feeDelta <= feeTolerance*19) #~19 inputs
|
assert(feeDelta >= 0 and feeDelta <= feeTolerance*19) #~19 inputs
|
||||||
|
|
||||||
|
|
||||||
|
@ -527,13 +525,13 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
#############################################
|
#############################################
|
||||||
|
|
||||||
#again, empty node1, send some small coins from node0 to node1
|
#again, empty node1, send some small coins from node0 to node1
|
||||||
self.nodes[1].sendtoaddress(self.nodes[0].getnewaddress(), self.nodes[1].getbalance(), "", "", True);
|
self.nodes[1].sendtoaddress(self.nodes[0].getnewaddress(), self.nodes[1].getbalance(), "", "", True)
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
self.nodes[0].generate(1)
|
self.nodes[0].generate(1)
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
|
|
||||||
for i in range(0,20):
|
for i in range(0,20):
|
||||||
self.nodes[0].sendtoaddress(self.nodes[1].getnewaddress(), 0.01);
|
self.nodes[0].sendtoaddress(self.nodes[1].getnewaddress(), 0.01)
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
self.nodes[0].generate(1)
|
self.nodes[0].generate(1)
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
|
|
|
@ -23,8 +23,8 @@ class GetChainTipsTest (BitcoinTestFramework):
|
||||||
|
|
||||||
# Split the network and build two chains of different lengths.
|
# Split the network and build two chains of different lengths.
|
||||||
self.split_network ()
|
self.split_network ()
|
||||||
self.nodes[0].generate(10);
|
self.nodes[0].generate(10)
|
||||||
self.nodes[2].generate(20);
|
self.nodes[2].generate(20)
|
||||||
self.sync_all ()
|
self.sync_all ()
|
||||||
|
|
||||||
tips = self.nodes[1].getchaintips ()
|
tips = self.nodes[1].getchaintips ()
|
||||||
|
|
|
@ -36,13 +36,13 @@ class HTTPBasicsTest (BitcoinTestFramework):
|
||||||
conn = httplib.HTTPConnection(url.hostname, url.port)
|
conn = httplib.HTTPConnection(url.hostname, url.port)
|
||||||
conn.connect()
|
conn.connect()
|
||||||
conn.request('POST', '/', '{"method": "getbestblockhash"}', headers)
|
conn.request('POST', '/', '{"method": "getbestblockhash"}', headers)
|
||||||
out1 = conn.getresponse().read();
|
out1 = conn.getresponse().read()
|
||||||
assert_equal('"error":null' in out1, True)
|
assert_equal('"error":null' in out1, True)
|
||||||
assert_equal(conn.sock!=None, True) #according to http/1.1 connection must still be open!
|
assert_equal(conn.sock!=None, True) #according to http/1.1 connection must still be open!
|
||||||
|
|
||||||
#send 2nd request without closing connection
|
#send 2nd request without closing connection
|
||||||
conn.request('POST', '/', '{"method": "getchaintips"}', headers)
|
conn.request('POST', '/', '{"method": "getchaintips"}', headers)
|
||||||
out2 = conn.getresponse().read();
|
out2 = conn.getresponse().read()
|
||||||
assert_equal('"error":null' in out1, True) #must also response with a correct json-rpc message
|
assert_equal('"error":null' in out1, True) #must also response with a correct json-rpc message
|
||||||
assert_equal(conn.sock!=None, True) #according to http/1.1 connection must still be open!
|
assert_equal(conn.sock!=None, True) #according to http/1.1 connection must still be open!
|
||||||
conn.close()
|
conn.close()
|
||||||
|
@ -53,13 +53,13 @@ class HTTPBasicsTest (BitcoinTestFramework):
|
||||||
conn = httplib.HTTPConnection(url.hostname, url.port)
|
conn = httplib.HTTPConnection(url.hostname, url.port)
|
||||||
conn.connect()
|
conn.connect()
|
||||||
conn.request('POST', '/', '{"method": "getbestblockhash"}', headers)
|
conn.request('POST', '/', '{"method": "getbestblockhash"}', headers)
|
||||||
out1 = conn.getresponse().read();
|
out1 = conn.getresponse().read()
|
||||||
assert_equal('"error":null' in out1, True)
|
assert_equal('"error":null' in out1, True)
|
||||||
assert_equal(conn.sock!=None, True) #according to http/1.1 connection must still be open!
|
assert_equal(conn.sock!=None, True) #according to http/1.1 connection must still be open!
|
||||||
|
|
||||||
#send 2nd request without closing connection
|
#send 2nd request without closing connection
|
||||||
conn.request('POST', '/', '{"method": "getchaintips"}', headers)
|
conn.request('POST', '/', '{"method": "getchaintips"}', headers)
|
||||||
out2 = conn.getresponse().read();
|
out2 = conn.getresponse().read()
|
||||||
assert_equal('"error":null' in out1, True) #must also response with a correct json-rpc message
|
assert_equal('"error":null' in out1, True) #must also response with a correct json-rpc message
|
||||||
assert_equal(conn.sock!=None, True) #according to http/1.1 connection must still be open!
|
assert_equal(conn.sock!=None, True) #according to http/1.1 connection must still be open!
|
||||||
conn.close()
|
conn.close()
|
||||||
|
@ -70,7 +70,7 @@ class HTTPBasicsTest (BitcoinTestFramework):
|
||||||
conn = httplib.HTTPConnection(url.hostname, url.port)
|
conn = httplib.HTTPConnection(url.hostname, url.port)
|
||||||
conn.connect()
|
conn.connect()
|
||||||
conn.request('POST', '/', '{"method": "getbestblockhash"}', headers)
|
conn.request('POST', '/', '{"method": "getbestblockhash"}', headers)
|
||||||
out1 = conn.getresponse().read();
|
out1 = conn.getresponse().read()
|
||||||
assert_equal('"error":null' in out1, True)
|
assert_equal('"error":null' in out1, True)
|
||||||
assert_equal(conn.sock!=None, False) #now the connection must be closed after the response
|
assert_equal(conn.sock!=None, False) #now the connection must be closed after the response
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ class HTTPBasicsTest (BitcoinTestFramework):
|
||||||
conn = httplib.HTTPConnection(urlNode1.hostname, urlNode1.port)
|
conn = httplib.HTTPConnection(urlNode1.hostname, urlNode1.port)
|
||||||
conn.connect()
|
conn.connect()
|
||||||
conn.request('POST', '/', '{"method": "getbestblockhash"}', headers)
|
conn.request('POST', '/', '{"method": "getbestblockhash"}', headers)
|
||||||
out1 = conn.getresponse().read();
|
out1 = conn.getresponse().read()
|
||||||
assert_equal('"error":null' in out1, True)
|
assert_equal('"error":null' in out1, True)
|
||||||
|
|
||||||
#node2 (third node) is running with standard keep-alive parameters which means keep-alive is on
|
#node2 (third node) is running with standard keep-alive parameters which means keep-alive is on
|
||||||
|
@ -93,7 +93,7 @@ class HTTPBasicsTest (BitcoinTestFramework):
|
||||||
conn = httplib.HTTPConnection(urlNode2.hostname, urlNode2.port)
|
conn = httplib.HTTPConnection(urlNode2.hostname, urlNode2.port)
|
||||||
conn.connect()
|
conn.connect()
|
||||||
conn.request('POST', '/', '{"method": "getbestblockhash"}', headers)
|
conn.request('POST', '/', '{"method": "getbestblockhash"}', headers)
|
||||||
out1 = conn.getresponse().read();
|
out1 = conn.getresponse().read()
|
||||||
assert_equal('"error":null' in out1, True)
|
assert_equal('"error":null' in out1, True)
|
||||||
assert_equal(conn.sock!=None, True) #connection must be closed because bitcoind should use keep-alive by default
|
assert_equal(conn.sock!=None, True) #connection must be closed because bitcoind should use keep-alive by default
|
||||||
|
|
||||||
|
|
|
@ -7,9 +7,7 @@
|
||||||
from test_framework.test_framework import ComparisonTestFramework
|
from test_framework.test_framework import ComparisonTestFramework
|
||||||
from test_framework.util import *
|
from test_framework.util import *
|
||||||
from test_framework.comptool import TestManager, TestInstance, RejectResult
|
from test_framework.comptool import TestManager, TestInstance, RejectResult
|
||||||
from test_framework.mininode import *
|
|
||||||
from test_framework.blocktools import *
|
from test_framework.blocktools import *
|
||||||
import logging
|
|
||||||
import copy
|
import copy
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
|
|
@ -5,12 +5,8 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
from test_framework.test_framework import ComparisonTestFramework
|
from test_framework.test_framework import ComparisonTestFramework
|
||||||
from test_framework.util import *
|
|
||||||
from test_framework.comptool import TestManager, TestInstance, RejectResult
|
from test_framework.comptool import TestManager, TestInstance, RejectResult
|
||||||
from test_framework.mininode import *
|
|
||||||
from test_framework.blocktools import *
|
from test_framework.blocktools import *
|
||||||
import logging
|
|
||||||
import copy
|
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,7 @@ class MempoolLimitTest(BitcoinTestFramework):
|
||||||
|
|
||||||
# by now, the tx should be evicted, check confirmation state
|
# by now, the tx should be evicted, check confirmation state
|
||||||
assert(txid not in self.nodes[0].getrawmempool())
|
assert(txid not in self.nodes[0].getrawmempool())
|
||||||
txdata = self.nodes[0].gettransaction(txid);
|
txdata = self.nodes[0].gettransaction(txid)
|
||||||
assert(txdata['confirmations'] == 0) #confirmation should still be 0
|
assert(txdata['confirmations'] == 0) #confirmation should still be 0
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
|
@ -10,8 +10,6 @@
|
||||||
|
|
||||||
from test_framework.test_framework import BitcoinTestFramework
|
from test_framework.test_framework import BitcoinTestFramework
|
||||||
from test_framework.util import *
|
from test_framework.util import *
|
||||||
import os
|
|
||||||
import shutil
|
|
||||||
|
|
||||||
# Create one-input, one-output, no-fee transaction:
|
# Create one-input, one-output, no-fee transaction:
|
||||||
class MempoolCoinbaseTest(BitcoinTestFramework):
|
class MempoolCoinbaseTest(BitcoinTestFramework):
|
||||||
|
@ -25,7 +23,7 @@ class MempoolCoinbaseTest(BitcoinTestFramework):
|
||||||
self.nodes.append(start_node(1, self.options.tmpdir, args))
|
self.nodes.append(start_node(1, self.options.tmpdir, args))
|
||||||
connect_nodes(self.nodes[1], 0)
|
connect_nodes(self.nodes[1], 0)
|
||||||
self.is_network_split = False
|
self.is_network_split = False
|
||||||
self.sync_all
|
self.sync_all()
|
||||||
|
|
||||||
def create_tx(self, from_txid, to_address, amount):
|
def create_tx(self, from_txid, to_address, amount):
|
||||||
inputs = [{ "txid" : from_txid, "vout" : 0}]
|
inputs = [{ "txid" : from_txid, "vout" : 0}]
|
||||||
|
@ -87,11 +85,11 @@ class MempoolCoinbaseTest(BitcoinTestFramework):
|
||||||
|
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
|
|
||||||
assert_equal(set(self.nodes[0].getrawmempool()), set([ spend_101_id, spend_102_1_id, timelock_tx_id ]))
|
assert_equal(set(self.nodes[0].getrawmempool()), {spend_101_id, spend_102_1_id, timelock_tx_id})
|
||||||
|
|
||||||
for node in self.nodes:
|
for node in self.nodes:
|
||||||
node.invalidateblock(last_block[0])
|
node.invalidateblock(last_block[0])
|
||||||
assert_equal(set(self.nodes[0].getrawmempool()), set([ spend_101_id, spend_102_1_id, spend_103_1_id ]))
|
assert_equal(set(self.nodes[0].getrawmempool()), {spend_101_id, spend_102_1_id, spend_103_1_id})
|
||||||
|
|
||||||
# Use invalidateblock to re-org back and make all those coinbase spends
|
# Use invalidateblock to re-org back and make all those coinbase spends
|
||||||
# immature/invalid:
|
# immature/invalid:
|
||||||
|
|
|
@ -10,8 +10,6 @@
|
||||||
|
|
||||||
from test_framework.test_framework import BitcoinTestFramework
|
from test_framework.test_framework import BitcoinTestFramework
|
||||||
from test_framework.util import *
|
from test_framework.util import *
|
||||||
import os
|
|
||||||
import shutil
|
|
||||||
|
|
||||||
# Create one-input, one-output, no-fee transaction:
|
# Create one-input, one-output, no-fee transaction:
|
||||||
class MempoolCoinbaseTest(BitcoinTestFramework):
|
class MempoolCoinbaseTest(BitcoinTestFramework):
|
||||||
|
|
|
@ -15,8 +15,6 @@
|
||||||
|
|
||||||
from test_framework.test_framework import BitcoinTestFramework
|
from test_framework.test_framework import BitcoinTestFramework
|
||||||
from test_framework.util import *
|
from test_framework.util import *
|
||||||
import os
|
|
||||||
import shutil
|
|
||||||
|
|
||||||
# Create one-input, one-output, no-fee transaction:
|
# Create one-input, one-output, no-fee transaction:
|
||||||
class MempoolSpendCoinbaseTest(BitcoinTestFramework):
|
class MempoolSpendCoinbaseTest(BitcoinTestFramework):
|
||||||
|
|
|
@ -9,8 +9,6 @@
|
||||||
|
|
||||||
from test_framework.test_framework import BitcoinTestFramework
|
from test_framework.test_framework import BitcoinTestFramework
|
||||||
from test_framework.util import *
|
from test_framework.util import *
|
||||||
import os
|
|
||||||
import shutil
|
|
||||||
|
|
||||||
class MerkleBlockTest(BitcoinTestFramework):
|
class MerkleBlockTest(BitcoinTestFramework):
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
|
|
||||||
from test_framework.test_framework import BitcoinTestFramework
|
from test_framework.test_framework import BitcoinTestFramework
|
||||||
from test_framework.util import *
|
from test_framework.util import *
|
||||||
import base64
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import http.client as httplib
|
import http.client as httplib
|
||||||
|
@ -54,7 +53,7 @@ class NodeHandlingTest (BitcoinTestFramework):
|
||||||
self.nodes[2].setban("127.0.0.0/24", "add")
|
self.nodes[2].setban("127.0.0.0/24", "add")
|
||||||
self.nodes[2].setban("192.168.0.1", "add", 1) #ban for 1 seconds
|
self.nodes[2].setban("192.168.0.1", "add", 1) #ban for 1 seconds
|
||||||
self.nodes[2].setban("2001:4d48:ac57:400:cacf:e9ff:fe1d:9c63/19", "add", 1000) #ban for 1000 seconds
|
self.nodes[2].setban("2001:4d48:ac57:400:cacf:e9ff:fe1d:9c63/19", "add", 1000) #ban for 1000 seconds
|
||||||
listBeforeShutdown = self.nodes[2].listbanned();
|
listBeforeShutdown = self.nodes[2].listbanned()
|
||||||
assert_equal("192.168.0.1/32", listBeforeShutdown[2]['address']) #must be here
|
assert_equal("192.168.0.1/32", listBeforeShutdown[2]['address']) #must be here
|
||||||
time.sleep(2) #make 100% sure we expired 192.168.0.1 node time
|
time.sleep(2) #make 100% sure we expired 192.168.0.1 node time
|
||||||
|
|
||||||
|
@ -62,7 +61,7 @@ class NodeHandlingTest (BitcoinTestFramework):
|
||||||
stop_node(self.nodes[2], 2)
|
stop_node(self.nodes[2], 2)
|
||||||
|
|
||||||
self.nodes[2] = start_node(2, self.options.tmpdir)
|
self.nodes[2] = start_node(2, self.options.tmpdir)
|
||||||
listAfterShutdown = self.nodes[2].listbanned();
|
listAfterShutdown = self.nodes[2].listbanned()
|
||||||
assert_equal("127.0.0.0/24", listAfterShutdown[0]['address'])
|
assert_equal("127.0.0.0/24", listAfterShutdown[0]['address'])
|
||||||
assert_equal("127.0.0.0/32", listAfterShutdown[1]['address'])
|
assert_equal("127.0.0.0/32", listAfterShutdown[1]['address'])
|
||||||
assert_equal("/19" in listAfterShutdown[2]['address'], True)
|
assert_equal("/19" in listAfterShutdown[2]['address'], True)
|
||||||
|
|
|
@ -8,14 +8,10 @@
|
||||||
from test_framework.test_framework import ComparisonTestFramework
|
from test_framework.test_framework import ComparisonTestFramework
|
||||||
from test_framework.util import *
|
from test_framework.util import *
|
||||||
from test_framework.comptool import TestManager, TestInstance, RejectResult
|
from test_framework.comptool import TestManager, TestInstance, RejectResult
|
||||||
from test_framework.mininode import *
|
|
||||||
from test_framework.blocktools import *
|
from test_framework.blocktools import *
|
||||||
import logging
|
|
||||||
import copy
|
|
||||||
import time
|
import time
|
||||||
import numbers
|
|
||||||
from test_framework.key import CECKey
|
from test_framework.key import CECKey
|
||||||
from test_framework.script import CScript, CScriptOp, SignatureHash, SIGHASH_ALL, OP_TRUE, OP_FALSE
|
from test_framework.script import CScript, SignatureHash, SIGHASH_ALL, OP_TRUE, OP_FALSE
|
||||||
|
|
||||||
class PreviousSpendableOutput(object):
|
class PreviousSpendableOutput(object):
|
||||||
def __init__(self, tx = CTransaction(), n = -1):
|
def __init__(self, tx = CTransaction(), n = -1):
|
||||||
|
|
|
@ -3,9 +3,6 @@
|
||||||
# Distributed under the MIT software license, see the accompanying
|
# Distributed under the MIT software license, see the accompanying
|
||||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||||
import socket
|
import socket
|
||||||
import traceback, sys
|
|
||||||
from binascii import hexlify
|
|
||||||
import time, os
|
|
||||||
|
|
||||||
from test_framework.socks5 import Socks5Configuration, Socks5Command, Socks5Server, AddressType
|
from test_framework.socks5 import Socks5Configuration, Socks5Command, Socks5Server, AddressType
|
||||||
from test_framework.test_framework import BitcoinTestFramework
|
from test_framework.test_framework import BitcoinTestFramework
|
||||||
|
@ -34,6 +31,7 @@ addnode connect to onion
|
||||||
addnode connect to generic DNS name
|
addnode connect to generic DNS name
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
||||||
class ProxyTest(BitcoinTestFramework):
|
class ProxyTest(BitcoinTestFramework):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
# Create two proxies on different ports
|
# Create two proxies on different ports
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
|
|
||||||
from test_framework.test_framework import BitcoinTestFramework
|
from test_framework.test_framework import BitcoinTestFramework
|
||||||
from test_framework.util import *
|
from test_framework.util import *
|
||||||
import os.path
|
|
||||||
|
|
||||||
def calc_usage(blockdir):
|
def calc_usage(blockdir):
|
||||||
return sum(os.path.getsize(blockdir+f) for f in os.listdir(blockdir) if os.path.isfile(blockdir+f))/(1024*1024)
|
return sum(os.path.getsize(blockdir+f) for f in os.listdir(blockdir) if os.path.isfile(blockdir+f))/(1024*1024)
|
||||||
|
|
|
@ -10,8 +10,6 @@
|
||||||
|
|
||||||
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 pprint import pprint
|
|
||||||
from time import sleep
|
|
||||||
|
|
||||||
# Create one-input, one-output, no-fee transaction:
|
# Create one-input, one-output, no-fee transaction:
|
||||||
class RawTransactionsTest(BitcoinTestFramework):
|
class RawTransactionsTest(BitcoinTestFramework):
|
||||||
|
@ -43,9 +41,9 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
self.nodes[0].generate(101)
|
self.nodes[0].generate(101)
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(),1.5);
|
self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(),1.5)
|
||||||
self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(),1.0);
|
self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(),1.0)
|
||||||
self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(),5.0);
|
self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(),5.0)
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
self.nodes[0].generate(5)
|
self.nodes[0].generate(5)
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
|
@ -64,7 +62,7 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
except JSONRPCException,e:
|
except JSONRPCException,e:
|
||||||
errorString = e.error['message']
|
errorString = e.error['message']
|
||||||
|
|
||||||
assert_equal("Missing inputs" in errorString, True);
|
assert("Missing inputs" in errorString)
|
||||||
|
|
||||||
#########################
|
#########################
|
||||||
# RAW TX MULTISIG TESTS #
|
# RAW TX MULTISIG TESTS #
|
||||||
|
@ -83,7 +81,7 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
bal = self.nodes[2].getbalance()
|
bal = self.nodes[2].getbalance()
|
||||||
|
|
||||||
# send 1.2 BTC to msig adr
|
# send 1.2 BTC to msig adr
|
||||||
txId = self.nodes[0].sendtoaddress(mSigObj, 1.2);
|
txId = self.nodes[0].sendtoaddress(mSigObj, 1.2)
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
self.nodes[0].generate(1)
|
self.nodes[0].generate(1)
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
|
@ -105,7 +103,7 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
mSigObj = self.nodes[2].addmultisigaddress(2, [addr1Obj['pubkey'], addr2Obj['pubkey'], addr3Obj['pubkey']])
|
mSigObj = self.nodes[2].addmultisigaddress(2, [addr1Obj['pubkey'], addr2Obj['pubkey'], addr3Obj['pubkey']])
|
||||||
mSigObjValid = self.nodes[2].validateaddress(mSigObj)
|
mSigObjValid = self.nodes[2].validateaddress(mSigObj)
|
||||||
|
|
||||||
txId = self.nodes[0].sendtoaddress(mSigObj, 2.2);
|
txId = self.nodes[0].sendtoaddress(mSigObj, 2.2)
|
||||||
decTx = self.nodes[0].gettransaction(txId)
|
decTx = self.nodes[0].gettransaction(txId)
|
||||||
rawTx = self.nodes[0].decoderawtransaction(decTx['hex'])
|
rawTx = self.nodes[0].decoderawtransaction(decTx['hex'])
|
||||||
sPK = rawTx['vout'][0]['scriptPubKey']['hex']
|
sPK = rawTx['vout'][0]['scriptPubKey']['hex']
|
||||||
|
@ -123,7 +121,7 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
for outpoint in rawTx['vout']:
|
for outpoint in rawTx['vout']:
|
||||||
if outpoint['value'] == Decimal('2.20000000'):
|
if outpoint['value'] == Decimal('2.20000000'):
|
||||||
vout = outpoint
|
vout = outpoint
|
||||||
break;
|
break
|
||||||
|
|
||||||
bal = self.nodes[0].getbalance()
|
bal = self.nodes[0].getbalance()
|
||||||
inputs = [{ "txid" : txId, "vout" : vout['n'], "scriptPubKey" : vout['scriptPubKey']['hex']}]
|
inputs = [{ "txid" : txId, "vout" : vout['n'], "scriptPubKey" : vout['scriptPubKey']['hex']}]
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
#
|
#
|
||||||
from test_framework.test_framework import BitcoinTestFramework
|
from test_framework.test_framework import BitcoinTestFramework
|
||||||
from test_framework.util import *
|
from test_framework.util import *
|
||||||
import os.path
|
|
||||||
|
|
||||||
class ReindexTest(BitcoinTestFramework):
|
class ReindexTest(BitcoinTestFramework):
|
||||||
|
|
||||||
|
|
|
@ -54,8 +54,7 @@ def make_utxo(node, amount, confirmed=True, scriptPubKey=CScript([1])):
|
||||||
tx2.vout = [CTxOut(amount, scriptPubKey)]
|
tx2.vout = [CTxOut(amount, scriptPubKey)]
|
||||||
tx2.rehash()
|
tx2.rehash()
|
||||||
|
|
||||||
tx2_hex = binascii.hexlify(tx2.serialize()).decode('utf-8')
|
binascii.hexlify(tx2.serialize()).decode('utf-8')
|
||||||
#print tx2_hex
|
|
||||||
|
|
||||||
signed_tx = node.signrawtransaction(binascii.hexlify(tx2.serialize()).decode('utf-8'))
|
signed_tx = node.signrawtransaction(binascii.hexlify(tx2.serialize()).decode('utf-8'))
|
||||||
|
|
||||||
|
|
|
@ -12,9 +12,7 @@ from test_framework.test_framework import BitcoinTestFramework
|
||||||
from test_framework.util import *
|
from test_framework.util import *
|
||||||
from struct import *
|
from struct import *
|
||||||
import binascii
|
import binascii
|
||||||
import json
|
|
||||||
import StringIO
|
import StringIO
|
||||||
import decimal
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import http.client as httplib
|
import http.client as httplib
|
||||||
|
@ -143,9 +141,9 @@ class RESTTest (BitcoinTestFramework):
|
||||||
|
|
||||||
binaryRequest = b'\x01\x02'
|
binaryRequest = b'\x01\x02'
|
||||||
binaryRequest += binascii.unhexlify(txid)
|
binaryRequest += binascii.unhexlify(txid)
|
||||||
binaryRequest += pack("i", n);
|
binaryRequest += pack("i", n)
|
||||||
binaryRequest += binascii.unhexlify(vintx);
|
binaryRequest += binascii.unhexlify(vintx)
|
||||||
binaryRequest += pack("i", 0);
|
binaryRequest += pack("i", 0)
|
||||||
|
|
||||||
bin_response = http_post_call(url.hostname, url.port, '/rest/getutxos'+self.FORMAT_SEPARATOR+'bin', binaryRequest)
|
bin_response = http_post_call(url.hostname, url.port, '/rest/getutxos'+self.FORMAT_SEPARATOR+'bin', binaryRequest)
|
||||||
output = StringIO.StringIO()
|
output = StringIO.StringIO()
|
||||||
|
@ -206,7 +204,7 @@ class RESTTest (BitcoinTestFramework):
|
||||||
json_request = '/checkmempool/'
|
json_request = '/checkmempool/'
|
||||||
for x in range(0, 15):
|
for x in range(0, 15):
|
||||||
json_request += txid+'-'+str(n)+'/'
|
json_request += txid+'-'+str(n)+'/'
|
||||||
json_request = json_request.rstrip("/");
|
json_request = json_request.rstrip("/")
|
||||||
response = http_post_call(url.hostname, url.port, '/rest/getutxos'+json_request+self.FORMAT_SEPARATOR+'json', '', True)
|
response = http_post_call(url.hostname, url.port, '/rest/getutxos'+json_request+self.FORMAT_SEPARATOR+'json', '', True)
|
||||||
assert_equal(response.status, 200) #must be a 500 because we exceeding the limits
|
assert_equal(response.status, 200) #must be a 500 because we exceeding the limits
|
||||||
|
|
||||||
|
@ -254,7 +252,7 @@ class RESTTest (BitcoinTestFramework):
|
||||||
response_header_json = http_get_call(url.hostname, url.port, '/rest/headers/1/'+bb_hash+self.FORMAT_SEPARATOR+"json", True)
|
response_header_json = http_get_call(url.hostname, url.port, '/rest/headers/1/'+bb_hash+self.FORMAT_SEPARATOR+"json", True)
|
||||||
assert_equal(response_header_json.status, 200)
|
assert_equal(response_header_json.status, 200)
|
||||||
response_header_json_str = response_header_json.read()
|
response_header_json_str = response_header_json.read()
|
||||||
json_obj = json.loads(response_header_json_str, parse_float=decimal.Decimal)
|
json_obj = json.loads(response_header_json_str, parse_float=Decimal)
|
||||||
assert_equal(len(json_obj), 1) #ensure that there is one header in the json response
|
assert_equal(len(json_obj), 1) #ensure that there is one header in the json response
|
||||||
assert_equal(json_obj[0]['hash'], bb_hash) #request/response hash should be the same
|
assert_equal(json_obj[0]['hash'], bb_hash) #request/response hash should be the same
|
||||||
|
|
||||||
|
@ -282,7 +280,7 @@ class RESTTest (BitcoinTestFramework):
|
||||||
assert_equal(len(json_obj), 5) #now we should have 5 header objects
|
assert_equal(len(json_obj), 5) #now we should have 5 header objects
|
||||||
|
|
||||||
# do tx test
|
# do tx test
|
||||||
tx_hash = block_json_obj['tx'][0]['txid'];
|
tx_hash = block_json_obj['tx'][0]['txid']
|
||||||
json_string = http_get_call(url.hostname, url.port, '/rest/tx/'+tx_hash+self.FORMAT_SEPARATOR+"json")
|
json_string = http_get_call(url.hostname, url.port, '/rest/tx/'+tx_hash+self.FORMAT_SEPARATOR+"json")
|
||||||
json_obj = json.loads(json_string)
|
json_obj = json.loads(json_string)
|
||||||
assert_equal(json_obj['txid'], tx_hash)
|
assert_equal(json_obj['txid'], tx_hash)
|
||||||
|
|
|
@ -5,13 +5,8 @@
|
||||||
|
|
||||||
# Test for -rpcbind, as well as -rpcallowip and -rpcconnect
|
# Test for -rpcbind, as well as -rpcallowip and -rpcconnect
|
||||||
|
|
||||||
# Add python-bitcoinrpc to module search path:
|
# TODO extend this test from the test framework (like all other tests)
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
|
|
||||||
import json
|
|
||||||
import shutil
|
|
||||||
import subprocess
|
|
||||||
import tempfile
|
import tempfile
|
||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
from test_framework.mininode import *
|
from test_framework.mininode import *
|
||||||
from test_framework.test_framework import BitcoinTestFramework
|
from test_framework.test_framework import BitcoinTestFramework
|
||||||
from test_framework.util import *
|
from test_framework.util import *
|
||||||
import time
|
|
||||||
from test_framework.blocktools import create_block, create_coinbase
|
from test_framework.blocktools import create_block, create_coinbase
|
||||||
|
|
||||||
'''
|
'''
|
||||||
|
@ -445,7 +444,7 @@ class SendHeadersTest(BitcoinTestFramework):
|
||||||
|
|
||||||
inv_node.sync_with_ping() # Make sure blocks are processed
|
inv_node.sync_with_ping() # Make sure blocks are processed
|
||||||
test_node.last_getdata = None
|
test_node.last_getdata = None
|
||||||
test_node.send_header_for_blocks(blocks);
|
test_node.send_header_for_blocks(blocks)
|
||||||
test_node.sync_with_ping()
|
test_node.sync_with_ping()
|
||||||
# should not have received any getdata messages
|
# should not have received any getdata messages
|
||||||
with mininode_lock:
|
with mininode_lock:
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
from mininode import *
|
from mininode import *
|
||||||
from script import CScript, CScriptOp, OP_TRUE, OP_CHECKSIG
|
from script import CScript, OP_TRUE, OP_CHECKSIG
|
||||||
|
|
||||||
# Create a block (with regtest difficulty)
|
# Create a block (with regtest difficulty)
|
||||||
def create_block(hashprev, coinbase, nTime=None):
|
def create_block(hashprev, coinbase, nTime=None):
|
||||||
|
|
|
@ -14,7 +14,8 @@ Functionality to build scripts, as well as SignatureHash().
|
||||||
|
|
||||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||||
|
|
||||||
from test_framework.mininode import CTransaction, CTxOut, hash256
|
from .mininode import CTransaction, CTxOut, hash256
|
||||||
|
from binascii import hexlify
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
bchr = chr
|
bchr = chr
|
||||||
|
@ -24,10 +25,9 @@ if sys.version > '3':
|
||||||
bchr = lambda x: bytes([x])
|
bchr = lambda x: bytes([x])
|
||||||
bord = lambda x: x
|
bord = lambda x: x
|
||||||
|
|
||||||
import copy
|
|
||||||
import struct
|
import struct
|
||||||
|
|
||||||
from test_framework.bignum import bn2vch
|
from .bignum import bn2vch
|
||||||
|
|
||||||
MAX_SCRIPT_SIZE = 10000
|
MAX_SCRIPT_SIZE = 10000
|
||||||
MAX_SCRIPT_ELEMENT_SIZE = 520
|
MAX_SCRIPT_ELEMENT_SIZE = 520
|
||||||
|
@ -777,7 +777,7 @@ class CScript(bytes):
|
||||||
# need to change
|
# need to change
|
||||||
def _repr(o):
|
def _repr(o):
|
||||||
if isinstance(o, bytes):
|
if isinstance(o, bytes):
|
||||||
return "x('%s')" % binascii.hexlify(o).decode('utf8')
|
return "x('%s')" % hexlify(o).decode('utf8')
|
||||||
else:
|
else:
|
||||||
return repr(o)
|
return repr(o)
|
||||||
|
|
||||||
|
|
|
@ -102,12 +102,12 @@ def initialize_datadir(dirname, n):
|
||||||
if not os.path.isdir(datadir):
|
if not os.path.isdir(datadir):
|
||||||
os.makedirs(datadir)
|
os.makedirs(datadir)
|
||||||
with open(os.path.join(datadir, "bitcoin.conf"), 'w') as f:
|
with open(os.path.join(datadir, "bitcoin.conf"), 'w') as f:
|
||||||
f.write("regtest=1\n");
|
f.write("regtest=1\n")
|
||||||
f.write("rpcuser=rt\n");
|
f.write("rpcuser=rt\n")
|
||||||
f.write("rpcpassword=rt\n");
|
f.write("rpcpassword=rt\n")
|
||||||
f.write("port="+str(p2p_port(n))+"\n");
|
f.write("port="+str(p2p_port(n))+"\n")
|
||||||
f.write("rpcport="+str(rpc_port(n))+"\n");
|
f.write("rpcport="+str(rpc_port(n))+"\n")
|
||||||
f.write("listenonion=0\n");
|
f.write("listenonion=0\n")
|
||||||
return datadir
|
return datadir
|
||||||
|
|
||||||
def initialize_chain(test_dir):
|
def initialize_chain(test_dir):
|
||||||
|
|
|
@ -8,11 +8,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
from test_framework.test_framework import BitcoinTestFramework
|
from test_framework.test_framework import BitcoinTestFramework
|
||||||
from test_framework.authproxy import AuthServiceProxy, JSONRPCException
|
|
||||||
from decimal import Decimal
|
|
||||||
from test_framework.util import *
|
from test_framework.util import *
|
||||||
import os
|
|
||||||
import shutil
|
|
||||||
|
|
||||||
class TxnMallTest(BitcoinTestFramework):
|
class TxnMallTest(BitcoinTestFramework):
|
||||||
|
|
||||||
|
|
|
@ -9,9 +9,6 @@
|
||||||
|
|
||||||
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 decimal import Decimal
|
|
||||||
import os
|
|
||||||
import shutil
|
|
||||||
|
|
||||||
class TxnMallTest(BitcoinTestFramework):
|
class TxnMallTest(BitcoinTestFramework):
|
||||||
|
|
||||||
|
|
|
@ -145,7 +145,7 @@ class WalletTest (BitcoinTestFramework):
|
||||||
sync_blocks(self.nodes)
|
sync_blocks(self.nodes)
|
||||||
|
|
||||||
relayed = self.nodes[0].resendwallettransactions()
|
relayed = self.nodes[0].resendwallettransactions()
|
||||||
assert_equal(set(relayed), set([txid1, txid2]))
|
assert_equal(set(relayed), {txid1, txid2})
|
||||||
sync_mempools(self.nodes)
|
sync_mempools(self.nodes)
|
||||||
|
|
||||||
assert(txid1 in self.nodes[3].getrawmempool())
|
assert(txid1 in self.nodes[3].getrawmempool())
|
||||||
|
|
|
@ -11,7 +11,6 @@ from test_framework.test_framework import BitcoinTestFramework
|
||||||
from test_framework.util import *
|
from test_framework.util import *
|
||||||
import zmq
|
import zmq
|
||||||
import binascii
|
import binascii
|
||||||
from test_framework.mininode import hash256
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import http.client as httplib
|
import http.client as httplib
|
||||||
|
@ -42,7 +41,7 @@ class ZMQTest (BitcoinTestFramework):
|
||||||
def run_test(self):
|
def run_test(self):
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
|
|
||||||
genhashes = self.nodes[0].generate(1);
|
genhashes = self.nodes[0].generate(1)
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
|
|
||||||
print "listen..."
|
print "listen..."
|
||||||
|
@ -58,7 +57,7 @@ class ZMQTest (BitcoinTestFramework):
|
||||||
assert_equal(genhashes[0], blkhash) #blockhash from generate must be equal to the hash received over zmq
|
assert_equal(genhashes[0], blkhash) #blockhash from generate must be equal to the hash received over zmq
|
||||||
|
|
||||||
n = 10
|
n = 10
|
||||||
genhashes = self.nodes[1].generate(n);
|
genhashes = self.nodes[1].generate(n)
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
|
|
||||||
zmqHashes = []
|
zmqHashes = []
|
||||||
|
@ -76,7 +75,7 @@ class ZMQTest (BitcoinTestFramework):
|
||||||
hashRPC = self.nodes[1].sendtoaddress(self.nodes[0].getnewaddress(), 1.0)
|
hashRPC = self.nodes[1].sendtoaddress(self.nodes[0].getnewaddress(), 1.0)
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
|
|
||||||
#now we should receive a zmq msg because the tx was broadcastet
|
# now we should receive a zmq msg because the tx was broadcast
|
||||||
msg = self.zmqSubSocket.recv_multipart()
|
msg = self.zmqSubSocket.recv_multipart()
|
||||||
topic = str(msg[0])
|
topic = str(msg[0])
|
||||||
body = msg[1]
|
body = msg[1]
|
||||||
|
|
Loading…
Reference in a new issue