-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create flag-less script tests for BCH #31
Comments
Yeah that makes sense on how to do it. For handling upgrade-dependent tests I'm not sure exactly what to do. Perhaps this:
As much as possible, tests should be in list 1 since that is the most critical to get right. When making an upgrade, this could be the process in steps:
|
Relevant comment from @joshmg in Bitcoin ABC Telegram group:
(@joshmg – FYI, you're not alone 😄) UUIDs for each test are a very good idea, we should definitely make sure to do that. 👍 |
This might be a good item to start working on when we build support for the
BCH_2019_11
VM. It's also a good thing to do while working on full, per-opcode documentation of the VM.Basically, for each VM version, there will be two sets of test vectors, one for the block-level validation ("consensus" or "miner"), and one for pre-network rebroadcasting validation ("isStandard" or "strict" in this library). For implementations which use flags, they'll run each list of test vectors using the same set of flags for the full list. As much functionality as possible should be tested using only opcodes, and maybe we'll support other state input for a few cases (e.g.
locktime
andsequenceNumber
). As we get the full VM tested by the new vectors, we can remove the currentscript_tests.json
tests and the hack usingscript_tests_addendum.json
.Bitcoin ABC will likely continue supporting the existing
script_tests.json
format, but might also be interested in testing against these new vectors. (CC: @markblundeberg)The text was updated successfully, but these errors were encountered: