Add bitcoin-tx tests
Testing: delin, delout, locktime, and basic createrawtransaction-like functionality.
This commit is contained in:
parent
335e3a5c95
commit
df4d61e681
8 changed files with 53 additions and 4 deletions
|
@ -8,7 +8,12 @@ EXTRA_DIST += \
|
|||
test/bctest.py \
|
||||
test/bitcoin-util-test.py \
|
||||
test/data/bitcoin-util-test.json \
|
||||
test/data/blanktx.hex
|
||||
test/data/blanktx.hex \
|
||||
test/data/tt-delin1-out.hex \
|
||||
test/data/tt-delout1-out.hex \
|
||||
test/data/tt-locktime317000-out.hex \
|
||||
test/data/tx394b54bb.hex \
|
||||
test/data/txcreate1.hex
|
||||
|
||||
JSON_TEST_FILES = \
|
||||
test/data/script_valid.json \
|
||||
|
|
|
@ -17,8 +17,11 @@ def bctest(testDir, testObj):
|
|||
inputData = open(filename).read()
|
||||
stdinCfg = subprocess.PIPE
|
||||
|
||||
outputFn = testObj['output_cmp']
|
||||
outputData = open(testDir + "/" + outputFn).read()
|
||||
outputFn = None
|
||||
outputData = None
|
||||
if "output_cmp" in testObj:
|
||||
outputFn = testObj['output_cmp']
|
||||
outputData = open(testDir + "/" + outputFn).read()
|
||||
|
||||
proc = subprocess.Popen(execargs, stdin=stdinCfg, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
try:
|
||||
|
@ -27,10 +30,17 @@ def bctest(testDir, testObj):
|
|||
print("OSError, Failed to execute " + execargs[0])
|
||||
sys.exit(1)
|
||||
|
||||
if outs[0] != outputData:
|
||||
if outputData and (outs[0] != outputData):
|
||||
print("Output data mismatch for " + outputFn)
|
||||
sys.exit(1)
|
||||
|
||||
wantRC = 0
|
||||
if "return_code" in testObj:
|
||||
wantRC = testObj['return_code']
|
||||
if proc.returncode != wantRC:
|
||||
print("Return code mismatch for " + outputFn)
|
||||
sys.exit(1)
|
||||
|
||||
def bctester(testDir, input_basename):
|
||||
input_filename = testDir + "/" + input_basename
|
||||
raw_data = open(input_filename).read()
|
||||
|
|
|
@ -5,5 +5,34 @@
|
|||
{ "exec": ["./bitcoin-tx", "-"],
|
||||
"input": "blanktx.hex",
|
||||
"output_cmp": "blanktx.hex"
|
||||
},
|
||||
{ "exec": ["./bitcoin-tx", "-", "delin=1"],
|
||||
"input": "tx394b54bb.hex",
|
||||
"output_cmp": "tt-delin1-out.hex"
|
||||
},
|
||||
{ "exec": ["./bitcoin-tx", "-", "delin=31"],
|
||||
"input": "tx394b54bb.hex",
|
||||
"return_code": 1
|
||||
},
|
||||
{ "exec": ["./bitcoin-tx", "-", "delout=1"],
|
||||
"input": "tx394b54bb.hex",
|
||||
"output_cmp": "tt-delout1-out.hex"
|
||||
},
|
||||
{ "exec": ["./bitcoin-tx", "-", "delout=2"],
|
||||
"input": "tx394b54bb.hex",
|
||||
"return_code": 1
|
||||
},
|
||||
{ "exec": ["./bitcoin-tx", "-", "locktime=317000"],
|
||||
"input": "tx394b54bb.hex",
|
||||
"output_cmp": "tt-locktime317000-out.hex"
|
||||
},
|
||||
{ "exec":
|
||||
["./bitcoin-tx", "-create",
|
||||
"in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0",
|
||||
"in=bf829c6bcf84579331337659d31f89dfd138f7f7785802d5501c92333145ca7c:18",
|
||||
"in=22a6f904655d53ae2ff70e701a0bbd90aa3975c0f40bfc6cc996a9049e31cdfc:1",
|
||||
"outaddr=0.18:13tuJJDR2RgArmgfv6JScSdreahzgc4T6o",
|
||||
"outaddr=4:1P8yWvZW8jVihP1bzHeqfE4aoXNX8AVa46"],
|
||||
"output_cmp": "txcreate1.hex"
|
||||
}
|
||||
]
|
||||
|
|
1
src/test/data/tt-delin1-out.hex
Normal file
1
src/test/data/tt-delin1-out.hex
Normal file
File diff suppressed because one or more lines are too long
1
src/test/data/tt-delout1-out.hex
Normal file
1
src/test/data/tt-delout1-out.hex
Normal file
File diff suppressed because one or more lines are too long
1
src/test/data/tt-locktime317000-out.hex
Normal file
1
src/test/data/tt-locktime317000-out.hex
Normal file
File diff suppressed because one or more lines are too long
1
src/test/data/tx394b54bb.hex
Normal file
1
src/test/data/tx394b54bb.hex
Normal file
File diff suppressed because one or more lines are too long
1
src/test/data/txcreate1.hex
Normal file
1
src/test/data/txcreate1.hex
Normal file
|
@ -0,0 +1 @@
|
|||
01000000031f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000ffffffff7cca453133921c50d5025878f7f738d1df891fd359763331935784cf6b9c82bf1200000000fffffffffccd319e04a996c96cfc0bf4c07539aa90bd0b1a700ef72fae535d6504f9a6220100000000ffffffff0280a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac0084d717000000001976a914f2d4db28cad6502226ee484ae24505c2885cb12d88ac00000000
|
Loading…
Reference in a new issue