aboutsummaryrefslogtreecommitdiff
path: root/src/test/data
AgeCommit message (Collapse)Author
2014-11-20Test the exact order of CHECKMULTISIG sig/pubkey evaluationPeter Todd
Possible with STRICTENC
2014-11-20Make STRICTENC invalid pubkeys fail the script rather than the opcode.Pieter Wuille
This turns STRICTENC turn into a softforking-safe change (even though it is not intended as a consensus rule), and as a result guarantee that using it for mempool validation only results in consensus-valid transactions in the mempool.
2014-11-17Discourage NOPs reserved for soft-fork upgradesPeter Todd
NOP1 to NOP10 are reserved for future soft-fork upgrades. In the event of an upgrade such NOPs have *VERIFY behavior, meaning that if their arguments are not correct the script fails. Discouraging these NOPs by rejecting transactions containing them from the mempool ensures that we'll never accept transactions, nor mine blocks, with scripts that are now invalid according to the majority of hashing power even if we're not yet upgraded. Previously this wasn't an issue as the IsStandard() rules didn't allow upgradable NOPs anyway, but 7f3b4e95 relaxed the IsStandard() rules for P2SH redemptions allowing any redeemScript to be spent. We *do* allow upgradable NOPs in scripts so long as they are not executed. This is harmless as there is no opportunity for the script to be invalid post-upgrade.
2014-10-25Add valid invert of invalid every numeric opcode testsPeter Todd
2014-10-25Clearly separate PUSHDATA and numeric argument MINIMALDATA testsPeter Todd
2014-10-25Test every numeric-accepting opcode for correct handling of the numeric ↵Peter Todd
minimal encoding rule
2014-10-25Ensure MINIMALDATA invalid tests can only fail one wayPeter Todd
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-25Add SCRIPT_VERIFY_MINIMALDATA (BIP62 rules 3 and 4)Pieter Wuille
Also use the new flag as a standard rule, and replace the IsCanonicalPush standardness check with it (as it is more complete).
2014-10-25Add SCRIPT_VERIFY_SIGPUSHONLY (BIP62 rule 2)Pieter Wuille
2014-10-08Make SCRIPT_VERIFY_STRICTENC compatible with BIP62Pieter Wuille
* 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-07Prettify JSON tests and minimize diffsPieter Wuille
2014-10-01Merge pull request #5014Wladimir J. van der Laan
41d67c7 tests: fix python test-runner for windows (Cory Fields)
2014-09-30tests: fix python test-runner for windowsCory Fields
Windows needed a few fixups to get the tests running: 1. bitcoin-tx needs a file extension in Windows. Take this opportunity to add an env file, which pulls variables out of our build config. This can be extended as needed, for now it's very simple. 2. After #1, split the args out of the exec key in the test data. 3. Correct the line-endings from windows stdout
2014-09-26Add automatic script test generation, and actual checksig testsPieter Wuille
2014-09-22Add actual signature testsPieter Wuille
2014-09-22Use actually valid transactions for script testsPieter Wuille
2014-09-14bitcoin-util-test: Test bitcoin-tx with null scriptPubKeyLuke Dashjr
2014-09-08Make script_{valid,invalid}.json validation flags configurablePieter Wuille
2014-08-19Add bitcoin-tx testsJeff Garzik
Testing: delin, delout, locktime, and basic createrawtransaction-like functionality.
2014-08-19bitcoin-tx: Accept input via stdin. Add input handling to tests.Jeff Garzik
2014-08-19Add "it works" test for bitcoin-txJeff Garzik
2014-07-18script tests: add tests for CHECKMULTISIG limitsOtto Allmendinger
2014-07-18script test: test case for 5-byte boolsOtto Allmendinger
2014-07-18script tests: value with trailing 0x00 is trueOtto Allmendinger
2014-07-18script tests: values that overflow to 0 are trueOtto Allmendinger
2014-07-18script tests: BOOLAND, BOOLOR decode to integerOtto Allmendinger
unlike other boolean checks, arguments >5 bytes invalidate the script
2014-07-18additional test for OP_SIZE in script_valid.jsonOtto Allmendinger
2014-06-02Merge pull request #4268Wladimir J. van der Laan
223a6f7 Fix stray uppercase A in tx_valid.json. (Andreas Schildbach)
2014-06-01Fix stray uppercase A in tx_valid.json.Andreas Schildbach
2014-05-12Add CODESEPARATOR/FindAndDelete() testsPeter Todd
2014-05-09Merge pull request #3843Wladimir J. van der Laan
787ee0c Check redeemScript size does not exceed 520 byte limit (Peter Todd) 4d79098 Increase IsStandard() scriptSig length (Peter Todd) f80cffa Do not trigger a DoS ban if SCRIPT_VERIFY_NULLDUMMY fails (Peter Todd) 6380180 Add rejection of non-null CHECKMULTISIG dummy values (Peter Todd) 29c1749 Let tx (in)valid tests use any SCRIPT_VERIFY flag (Peter Todd) 68f7d1d Create (MANDATORY|STANDARD)_SCRIPT_VERIFY_FLAGS constants (Peter Todd)
2014-05-09Merge pull request #3965Wladimir J. van der Laan
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-09Merge pull request #3860 from petertodd/test-checkmulti-n-m-zeroGavin Andresen
Test CHECKMULTISIG with m == 0 and/or n == 0
2014-05-08Add rejection of non-null CHECKMULTISIG dummy valuesPeter Todd
This is a source of transaction mutability as the dummy value was previously not checked and could be modified to something other than the usual OP_0 value.
2014-05-05Let tx (in)valid tests use any SCRIPT_VERIFY flagPeter Todd
Previously only P2SH could be set.
2014-04-22script: add additional script testsCory Fields
2014-03-31Add sighash tests from data fileManuel Araoz
2014-03-18Add licenses for tests and test dataWladimir J. van der Laan
- Add license headers to source files (years based on commit dates) in `src/test` as well as `qa` - Add `README.md` to `src/test/data` specifying MIT license Fixes #3848
2014-03-12Test CHECKMULTISIG with m == 0 and n == 0Peter Todd
2014-03-12Fix script test handling of empty scriptsPeter Todd
Previously an empty script would evaluate to OP_0
2014-03-11Add script test to prove that OP_0 evaluates as the empty vector, rather ↵Andreas Schildbach
than [0].
2014-01-30Add more data-driven tests.Matt Corallo
2013-12-11Add tests for correct and incorrect order of signatures for a multisigTamas Blummer
(P2SH)
2013-11-11Test alerts high at high PROTOCOL_VERSIONsGavin Andresen
I regenerated the alert test data; now alerts are tested against a protocol version way above the current protocol version. So we won't have to regenerate them every time we bump PROTOCOL_VERSION in the future.
2013-11-08Add a few more basic script/tx test-cases.Matt Corallo
2013-09-16included-tests: generate binary data from test files for inclusion into test ↵Cory Fields
binaries This change moves test data into the binaries rather than reading them from the disk at runtime. Advantages: - Tests become distributable - Cross-compile friendly. Build on one machine and execute in an arbitrary location on another. - Easier testing for backports. Users can verify that tests pass without having to track down corresponding test data. - More trustworthy test results and easier quality assurance as tests make fewer assumptions about their environment. - Tests could theoretically run at client/daemon startup and exit on failure. Disadvantages: - Required 'hexdump' build-dependency. This is a standard bsd tool that should be usable everywhere. It is likely already installed on all build-machines. - Tests can no longer be fudged after build by altering test-data.
2013-08-25Document and test OP_RESERVED weirdnessPeter Todd
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-06More unit tests for NUMEQUALGavin Andresen
2013-07-23Add unittests for multiple ELSEs in a rowPeter Todd
IF ELSE ELSE ENDIF is a valid construct; execution or non-execution inverts on each ELSE encountered.
2013-06-05Removed AcceptToMemoryPool method from CTransaction. This method belongs to ↵Eric Lombrozo
the mempool instance. Removed AreInputsStandard from CTransaction, made it a regular function in main. Moved CTransaction::GetOutputFor to CCoinsViewCache. Moved GetLegacySigOpCount and GetP2SHSigOpCount out of CTransaction into regular functions in main. Moved GetValueIn and HaveInputs from CTransaction into CCoinsViewCache. Moved AllowFree, ClientCheckInputs, CheckInputs, UpdateCoins, and CheckTransaction out of CTransaction and into main. Moved IsStandard and IsFinal out of CTransaction and put them in main as IsStandardTx and IsFinalTx. Moved GetValueOut out of CTransaction into main. Moved CTxIn, CTxOut, and CTransaction into core. Added minimum fee parameter to CTxOut::IsDust() temporarily until CTransaction is moved to core.h so that CTxOut needn't know about CTransaction.