Peter Todd
2b62e1796b
Clearly separate PUSHDATA and numeric argument MINIMALDATA tests
2014-10-25 03:12:39 -07:00
Peter Todd
dfeec18b85
Test every numeric-accepting opcode for correct handling of the numeric minimal encoding rule
2014-10-25 03:12:06 -07:00
Peter Todd
554147ad9e
Ensure MINIMALDATA invalid tests can only fail one way
...
Removes the need for the 'negated' versions of the tests, and ensures
other failures don't mask what we're trying to test.
2014-10-25 03:11:38 -07:00
Pieter Wuille
698c6abb25
Add SCRIPT_VERIFY_MINIMALDATA (BIP62 rules 3 and 4)
...
Also use the new flag as a standard rule, and replace the IsCanonicalPush
standardness check with it (as it is more complete).
2014-10-25 03:03:20 -07:00
Pieter Wuille
d752ba86c1
Add SCRIPT_VERIFY_SIGPUSHONLY (BIP62 rule 2)
2014-10-25 03:03:16 -07:00
Pieter Wuille
9df9cf5a9f
Make SCRIPT_VERIFY_STRICTENC compatible with BIP62
...
* Delete canonical_tests.cpp, and move the tests to script_tests.cpp.
* Split off SCRIPT_VERIFY_DERSIG from SCRIPT_VERIFY_STRICTENC (the BIP62 part of it).
* Change signature STRICTENC/DERSIG semantics to fail the script entirely rather than the CHECKSIG result (softfork safety, and BIP62 requirement).
* Add many autogenerated tests for several odd cases.
* Mention specific BIP62 rules in the script verification flags.
2014-10-08 15:42:29 -07:00
Pieter Wuille
2c930d932b
Prettify JSON tests and minimize diffs
2014-10-07 09:41:33 +02:00
Pieter Wuille
8138cbea3c
Add automatic script test generation, and actual checksig tests
2014-09-26 21:58:48 +02:00
Pieter Wuille
c8589bf99e
Add actual signature tests
2014-09-22 19:26:17 +02:00
Pieter Wuille
76ec867796
Use actually valid transactions for script tests
2014-09-22 19:26:17 +02:00
Pieter Wuille
6022b5dc6b
Make script_{valid,invalid}.json validation flags configurable
2014-09-08 22:38:26 +02:00
Otto Allmendinger
d2d9dc063f
script tests: add tests for CHECKMULTISIG limits
2014-07-18 17:55:06 +02:00
Otto Allmendinger
0072d98849
script tests: BOOLAND, BOOLOR decode to integer
...
unlike other boolean checks, arguments >5 bytes invalidate the script
2014-07-18 10:53:09 +02:00
Wladimir J. van der Laan
1c0319bb2b
Merge pull request #3965
...
b1fdd54
script: Add test for CScriptNum (Cory Fields)
90320d6
script: add additional script tests (Cory Fields)
05e3ecf
script: remove bignum dependency (Cory Fields)
4f497cd
script: switch outside users to CScriptNum (Cory Fields)
27bff74
script: switch to CScriptNum usage for scripts (Cory Fields)
48d8eb1
script: add CScriptNum class (Cory Fields)
2014-05-09 16:03:07 +02:00
Cory Fields
90320d6777
script: add additional script tests
2014-04-22 00:32:30 -04:00
Peter Todd
d3a33fc869
Test CHECKMULTISIG with m == 0 and n == 0
2014-03-12 21:18:07 -04:00
Peter Todd
b41e594773
Fix script test handling of empty scripts
...
Previously an empty script would evaluate to OP_0
2014-03-12 20:14:01 -04:00
Andreas Schildbach
ffd082a6a3
Add script test to prove that OP_0 evaluates as the empty vector, rather than [0].
2014-03-11 00:59:33 +01:00
Peter Todd
214d45b6b9
Document and test OP_RESERVED weirdness
...
Seems it was forgotten about when IsPushOnly() and the unittests were
written. A particular oddity is that OP_RESERVED doesn't count towards
the >201 opcode limit unlike every other named opcode.
2013-08-25 12:37:07 -04:00
Peter Todd
aff83e9c02
Add unittests for multiple ELSEs in a row
...
IF ELSE ELSE ENDIF is a valid construct; execution or non-execution
inverts on each ELSE encountered.
2013-07-23 05:12:38 -04:00
Peter Todd
091f184190
Test canonical prunable txout format explicitly
2013-03-01 02:41:28 -05:00
Peter Todd
6131d1d9df
Add coverage for all invalid ops
...
0xba thru 0xff
2013-03-01 02:24:08 -05:00
Matt Corallo
336a0abbbb
Add a few test cases to data-driven script tests.
2012-08-20 12:12:41 -04:00
Gavin Andresen
4e6e3293ff
Remove newlines from JSON strings
...
Newlines in JSON strings are against the JSON spec,
so remove them from the script*.json unit tests to
make python's jsonrpc happy (json::spirit didn't care).
2012-05-25 13:58:44 -04:00
Gavin Andresen
787f5e9949
Unit tests for transaction size limits
2012-05-25 11:37:34 -04:00
Gavin Andresen
6b8a17119e
Lots more Script unit test cases.
2012-05-24 17:32:09 -04:00
Gavin Andresen
f04017f702
More CScript unit tests.
2012-05-24 13:29:08 -04:00
Gavin Andresen
8449a8788a
Data-drive script evaluation unit tests.
2012-04-21 19:35:39 -04:00