aboutsummaryrefslogtreecommitdiff
path: root/src/test/script_tests.cpp
diff options
context:
space:
mode:
authorWladimir J. van der Laan <[email protected]>2014-11-20 13:12:45 +0100
committerWladimir J. van der Laan <[email protected]>2014-11-20 13:19:47 +0100
commit9842ed465b44c8eaa8b307c18449dd9d8e04f217 (patch)
treef51866e12e89d6176294dc48c4c4ea3da39b714b /src/test/script_tests.cpp
parentdoc: add libgmp dependency for secp256k1 (diff)
parentbuild: pad header for osx libs (diff)
downloaddiscoin-9842ed465b44c8eaa8b307c18449dd9d8e04f217.tar.xz
discoin-9842ed465b44c8eaa8b307c18449dd9d8e04f217.zip
Merge pull request #5235
9eb5a5f build: pad header for osx libs (Cory Fields) 9ed8979 build: fix static dll link for mingw (Cory Fields) 19df238 build: shared lib build should work reasonably well now (Cory Fields) 269efa3 build: add quick consensus lib tests (Cory Fields) cdd36c6 build: add --with-libs so that libs are optional (Cory Fields) 2cf5f16 build: add libbitcoinconsensus files and hook up the lib build (Cory Fields) ee64c53 build: remove internal/protected build attribute checks (Cory Fields) f36a40f build: check visibility attributes (Cory Fields) 811a765 build: mingw needs libssp for hardening with dlls (Cory Fields) e0077de build: make a distinction between static app ldflags and static lib ldflags (Cory Fields)
Diffstat (limited to 'src/test/script_tests.cpp')
-rw-r--r--src/test/script_tests.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/test/script_tests.cpp b/src/test/script_tests.cpp
index d98154571..36aaa6903 100644
--- a/src/test/script_tests.cpp
+++ b/src/test/script_tests.cpp
@@ -14,6 +14,10 @@
#include "script/sign.h"
#include "util.h"
+#if defined(HAVE_CONSENSUS_LIB)
+#include "script/bitcoinconsensus.h"
+#endif
+
#include <fstream>
#include <stdint.h>
#include <string>
@@ -94,8 +98,15 @@ CMutableTransaction BuildSpendingTransaction(const CScript& scriptSig, const CMu
void DoTest(const CScript& scriptPubKey, const CScript& scriptSig, int flags, bool expect, const std::string& message)
{
ScriptError err;
- BOOST_CHECK_MESSAGE(VerifyScript(scriptSig, scriptPubKey, flags, SignatureChecker(BuildSpendingTransaction(scriptSig, BuildCreditingTransaction(scriptPubKey)), 0), &err) == expect, message);
+ CMutableTransaction tx = BuildSpendingTransaction(scriptSig, BuildCreditingTransaction(scriptPubKey));
+ CMutableTransaction tx2 = tx;
+ BOOST_CHECK_MESSAGE(VerifyScript(scriptSig, scriptPubKey, flags, SignatureChecker(tx, 0), &err) == expect, message);
BOOST_CHECK_MESSAGE(expect == (err == SCRIPT_ERR_OK), std::string(ScriptErrorString(err)) + ": " + message);
+#if defined(HAVE_CONSENSUS_LIB)
+ CDataStream stream(SER_NETWORK, PROTOCOL_VERSION);
+ stream << tx2;
+ BOOST_CHECK_MESSAGE(bitcoinconsensus_verify_script(begin_ptr(scriptPubKey), scriptPubKey.size(), (const unsigned char*)&stream[0], stream.size(), 0, flags, NULL) == expect,message);
+#endif
}
void static NegateSignatureS(std::vector<unsigned char>& vchSig) {