diff options
author | Kashif Smith <1489460+kashifs@users.noreply.github.com> | 2023-12-07 04:41:00 -0500 |
---|---|---|
committer | Kashif Smith <1489460+kashifs@users.noreply.github.com> | 2023-12-08 20:27:13 -0500 |
commit | 94feaf2b66d68b3c849375e1d9d3a81c17cd2045 (patch) | |
tree | 5bbe445c8cf5e8f81bd96314f9843bd1d928c3ba /test/util | |
parent | c2b836b119eeed8727d73bcca5e95055eb93fb1a (diff) |
tests: Add unit tests for bitcoin-tx replaceable command
Diffstat (limited to 'test/util')
-rw-r--r-- | test/util/data/bitcoin-util-test.json | 80 | ||||
-rw-r--r-- | test/util/data/txreplace1.hex | 1 | ||||
-rw-r--r-- | test/util/data/txreplacenoinputs.hex | 1 | ||||
-rw-r--r-- | test/util/data/txreplaceomittedn.hex | 1 | ||||
-rw-r--r-- | test/util/data/txreplacesingleinput.hex | 1 |
5 files changed, 83 insertions, 1 deletions
diff --git a/test/util/data/bitcoin-util-test.json b/test/util/data/bitcoin-util-test.json index c9c64274c6..83b3c430d5 100644 --- a/test/util/data/bitcoin-util-test.json +++ b/test/util/data/bitcoin-util-test.json @@ -163,7 +163,85 @@ "replaceable=0foo"], "return_code": 1, "error_txt": "error: Invalid TX input index", - "description": "Tests the check for an invalid input index with replaceable" + "description": "Tests the check for an invalid string input index with replaceable" + }, + { + "exec": "./bitcoin-tx", + "args": + ["-create", + "in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0", + "replaceable=-1"], + "return_code": 1, + "error_txt": "error: Invalid TX input index", + "description": "Tests the check for an invalid negative input index with replaceable" + }, + { + "exec": "./bitcoin-tx", + "args": + ["-create", + "in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0", + "replaceable=1"], + "return_code": 1, + "error_txt": "error: Invalid TX input index", + "description": "Tests the check for an invalid positive out-of-bounds input index with replaceable" + }, + { + "exec": "./bitcoin-tx", + "args": + ["-create", + "in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0", + "replaceable=0"], + "output_cmp": "txreplacesingleinput.hex", + "description": "Tests that the 'SEQUENCE' value for a single input is set to fdffffff for single input" + }, + { + "exec": "./bitcoin-tx", + "args": + ["-create", + "in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0", + "replaceable="], + "output_cmp": "txreplacesingleinput.hex", + "description": "Tests that the 'SEQUENCE' value for a single input is set to fdffffff when N omitted" + }, + { + "exec": "./bitcoin-tx", + "args": + ["-create", + "in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0", + "in=bf829c6bcf84579331337659d31f89dfd138f7f7785802d5501c92333145ca7c:18", + "in=22a6f904655d53ae2ff70e701a0bbd90aa3975c0f40bfc6cc996a9049e31cdfc:1", + "replaceable=1"], + "output_cmp": "txreplace1.hex", + "description": "Tests that only the 'SEQUENCE' value of input[1] is set to fdffffff" + }, + { + "exec": "./bitcoin-tx", + "args": + ["-create", + "in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0", + "in=bf829c6bcf84579331337659d31f89dfd138f7f7785802d5501c92333145ca7c:18", + "in=22a6f904655d53ae2ff70e701a0bbd90aa3975c0f40bfc6cc996a9049e31cdfc:1", + "replaceable="], + "output_cmp": "txreplaceomittedn.hex", + "description": "Tests that the 'SEQUENCE' value for each input is set to fdffffff when N omitted" + }, + { + "exec": "./bitcoin-tx", + "args": + ["-create", + "replaceable="], + "output_cmp": "txreplacenoinputs.hex", + "description": "Tests behavior when no inputs are provided in the transaction" + }, + { + "exec": "./bitcoin-tx", + "args": + ["-create", + "in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0:abcdef00", + "replaceable="], + "return_code": 1, + "error_txt": "error: invalid TX sequence id 'abcdef00'", + "description": "Try to make invalid input replaceable" }, { "exec": "./bitcoin-tx", "args": diff --git a/test/util/data/txreplace1.hex b/test/util/data/txreplace1.hex new file mode 100644 index 0000000000..7401c4e5dd --- /dev/null +++ b/test/util/data/txreplace1.hex @@ -0,0 +1 @@ +02000000031f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000ffffffff7cca453133921c50d5025878f7f738d1df891fd359763331935784cf6b9c82bf1200000000fdfffffffccd319e04a996c96cfc0bf4c07539aa90bd0b1a700ef72fae535d6504f9a6220100000000ffffffff0000000000 diff --git a/test/util/data/txreplacenoinputs.hex b/test/util/data/txreplacenoinputs.hex new file mode 100644 index 0000000000..22d830eda1 --- /dev/null +++ b/test/util/data/txreplacenoinputs.hex @@ -0,0 +1 @@ +02000000000000000000 diff --git a/test/util/data/txreplaceomittedn.hex b/test/util/data/txreplaceomittedn.hex new file mode 100644 index 0000000000..a687836a09 --- /dev/null +++ b/test/util/data/txreplaceomittedn.hex @@ -0,0 +1 @@ +02000000031f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000fdffffff7cca453133921c50d5025878f7f738d1df891fd359763331935784cf6b9c82bf1200000000fdfffffffccd319e04a996c96cfc0bf4c07539aa90bd0b1a700ef72fae535d6504f9a6220100000000fdffffff0000000000 diff --git a/test/util/data/txreplacesingleinput.hex b/test/util/data/txreplacesingleinput.hex new file mode 100644 index 0000000000..b3e442795e --- /dev/null +++ b/test/util/data/txreplacesingleinput.hex @@ -0,0 +1 @@ +02000000011f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000fdffffff0000000000 |