mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 22:50:59 +01:00
tests: Test for expected return values when calling functions returning a success code
This commit is contained in:
@@ -398,7 +398,7 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
|
||||
// Keystore has key
|
||||
keystore.AddKey(keys[0]);
|
||||
BOOST_CHECK(keystore.AddKey(keys[0]));
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_SPENDABLE);
|
||||
}
|
||||
@@ -413,7 +413,7 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
|
||||
// Keystore has key
|
||||
keystore.AddKey(uncompressedKey);
|
||||
BOOST_CHECK(keystore.AddKey(uncompressedKey));
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_SPENDABLE);
|
||||
}
|
||||
@@ -428,7 +428,7 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
|
||||
// Keystore has key
|
||||
keystore.AddKey(keys[0]);
|
||||
BOOST_CHECK(keystore.AddKey(keys[0]));
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_SPENDABLE);
|
||||
}
|
||||
@@ -443,7 +443,7 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
|
||||
// Keystore has key
|
||||
keystore.AddKey(uncompressedKey);
|
||||
BOOST_CHECK(keystore.AddKey(uncompressedKey));
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_SPENDABLE);
|
||||
}
|
||||
@@ -460,12 +460,12 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
|
||||
// Keystore has redeemScript but no key
|
||||
keystore.AddCScript(redeemScript);
|
||||
BOOST_CHECK(keystore.AddCScript(redeemScript));
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
|
||||
// Keystore has redeemScript and key
|
||||
keystore.AddKey(keys[0]);
|
||||
BOOST_CHECK(keystore.AddKey(keys[0]));
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_SPENDABLE);
|
||||
}
|
||||
@@ -478,10 +478,10 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
CScript redeemscript = GetScriptForDestination(CScriptID(redeemscript_inner));
|
||||
scriptPubKey = GetScriptForDestination(CScriptID(redeemscript));
|
||||
|
||||
keystore.AddCScript(redeemscript);
|
||||
keystore.AddCScript(redeemscript_inner);
|
||||
keystore.AddCScript(scriptPubKey);
|
||||
keystore.AddKey(keys[0]);
|
||||
BOOST_CHECK(keystore.AddCScript(redeemscript));
|
||||
BOOST_CHECK(keystore.AddCScript(redeemscript_inner));
|
||||
BOOST_CHECK(keystore.AddCScript(scriptPubKey));
|
||||
BOOST_CHECK(keystore.AddKey(keys[0]));
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
}
|
||||
@@ -494,10 +494,10 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
CScript witnessscript = GetScriptForDestination(CScriptID(redeemscript));
|
||||
scriptPubKey = GetScriptForDestination(WitnessV0ScriptHash(witnessscript));
|
||||
|
||||
keystore.AddCScript(witnessscript);
|
||||
keystore.AddCScript(redeemscript);
|
||||
keystore.AddCScript(scriptPubKey);
|
||||
keystore.AddKey(keys[0]);
|
||||
BOOST_CHECK(keystore.AddCScript(witnessscript));
|
||||
BOOST_CHECK(keystore.AddCScript(redeemscript));
|
||||
BOOST_CHECK(keystore.AddCScript(scriptPubKey));
|
||||
BOOST_CHECK(keystore.AddKey(keys[0]));
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
}
|
||||
@@ -509,9 +509,9 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
CScript witnessscript = GetScriptForDestination(WitnessV0KeyHash(pubkeys[0].GetID()));
|
||||
scriptPubKey = GetScriptForDestination(WitnessV0ScriptHash(witnessscript));
|
||||
|
||||
keystore.AddCScript(witnessscript);
|
||||
keystore.AddCScript(scriptPubKey);
|
||||
keystore.AddKey(keys[0]);
|
||||
BOOST_CHECK(keystore.AddCScript(witnessscript));
|
||||
BOOST_CHECK(keystore.AddCScript(scriptPubKey));
|
||||
BOOST_CHECK(keystore.AddKey(keys[0]));
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
}
|
||||
@@ -524,10 +524,10 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
CScript witnessscript = GetScriptForDestination(WitnessV0ScriptHash(witnessscript_inner));
|
||||
scriptPubKey = GetScriptForDestination(WitnessV0ScriptHash(witnessscript));
|
||||
|
||||
keystore.AddCScript(witnessscript_inner);
|
||||
keystore.AddCScript(witnessscript);
|
||||
keystore.AddCScript(scriptPubKey);
|
||||
keystore.AddKey(keys[0]);
|
||||
BOOST_CHECK(keystore.AddCScript(witnessscript_inner));
|
||||
BOOST_CHECK(keystore.AddCScript(witnessscript));
|
||||
BOOST_CHECK(keystore.AddCScript(scriptPubKey));
|
||||
BOOST_CHECK(keystore.AddKey(keys[0]));
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
}
|
||||
@@ -535,12 +535,12 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
// P2WPKH compressed
|
||||
{
|
||||
CBasicKeyStore keystore;
|
||||
keystore.AddKey(keys[0]);
|
||||
BOOST_CHECK(keystore.AddKey(keys[0]));
|
||||
|
||||
scriptPubKey = GetScriptForDestination(WitnessV0KeyHash(pubkeys[0].GetID()));
|
||||
|
||||
// Keystore implicitly has key and P2SH redeemScript
|
||||
keystore.AddCScript(scriptPubKey);
|
||||
BOOST_CHECK(keystore.AddCScript(scriptPubKey));
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_SPENDABLE);
|
||||
}
|
||||
@@ -548,7 +548,7 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
// P2WPKH uncompressed
|
||||
{
|
||||
CBasicKeyStore keystore;
|
||||
keystore.AddKey(uncompressedKey);
|
||||
BOOST_CHECK(keystore.AddKey(uncompressedKey));
|
||||
|
||||
scriptPubKey = GetScriptForDestination(WitnessV0KeyHash(uncompressedPubkey.GetID()));
|
||||
|
||||
@@ -557,7 +557,7 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
|
||||
// Keystore has key and P2SH redeemScript
|
||||
keystore.AddCScript(scriptPubKey);
|
||||
BOOST_CHECK(keystore.AddCScript(scriptPubKey));
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
}
|
||||
@@ -573,19 +573,19 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
|
||||
// Keystore has 1/2 keys
|
||||
keystore.AddKey(uncompressedKey);
|
||||
BOOST_CHECK(keystore.AddKey(uncompressedKey));
|
||||
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
|
||||
// Keystore has 2/2 keys
|
||||
keystore.AddKey(keys[1]);
|
||||
BOOST_CHECK(keystore.AddKey(keys[1]));
|
||||
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
|
||||
// Keystore has 2/2 keys and the script
|
||||
keystore.AddCScript(scriptPubKey);
|
||||
BOOST_CHECK(keystore.AddCScript(scriptPubKey));
|
||||
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
@@ -594,8 +594,8 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
// P2SH multisig
|
||||
{
|
||||
CBasicKeyStore keystore;
|
||||
keystore.AddKey(uncompressedKey);
|
||||
keystore.AddKey(keys[1]);
|
||||
BOOST_CHECK(keystore.AddKey(uncompressedKey));
|
||||
BOOST_CHECK(keystore.AddKey(keys[1]));
|
||||
|
||||
CScript redeemScript = GetScriptForMultisig(2, {uncompressedPubkey, pubkeys[1]});
|
||||
scriptPubKey = GetScriptForDestination(CScriptID(redeemScript));
|
||||
@@ -605,7 +605,7 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
|
||||
// Keystore has redeemScript
|
||||
keystore.AddCScript(redeemScript);
|
||||
BOOST_CHECK(keystore.AddCScript(redeemScript));
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_SPENDABLE);
|
||||
}
|
||||
@@ -613,8 +613,8 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
// P2WSH multisig with compressed keys
|
||||
{
|
||||
CBasicKeyStore keystore;
|
||||
keystore.AddKey(keys[0]);
|
||||
keystore.AddKey(keys[1]);
|
||||
BOOST_CHECK(keystore.AddKey(keys[0]));
|
||||
BOOST_CHECK(keystore.AddKey(keys[1]));
|
||||
|
||||
CScript witnessScript = GetScriptForMultisig(2, {pubkeys[0], pubkeys[1]});
|
||||
scriptPubKey = GetScriptForDestination(WitnessV0ScriptHash(witnessScript));
|
||||
@@ -624,12 +624,12 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
|
||||
// Keystore has keys and witnessScript, but no P2SH redeemScript
|
||||
keystore.AddCScript(witnessScript);
|
||||
BOOST_CHECK(keystore.AddCScript(witnessScript));
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
|
||||
// Keystore has keys, witnessScript, P2SH redeemScript
|
||||
keystore.AddCScript(scriptPubKey);
|
||||
BOOST_CHECK(keystore.AddCScript(scriptPubKey));
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_SPENDABLE);
|
||||
}
|
||||
@@ -637,8 +637,8 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
// P2WSH multisig with uncompressed key
|
||||
{
|
||||
CBasicKeyStore keystore;
|
||||
keystore.AddKey(uncompressedKey);
|
||||
keystore.AddKey(keys[1]);
|
||||
BOOST_CHECK(keystore.AddKey(uncompressedKey));
|
||||
BOOST_CHECK(keystore.AddKey(keys[1]));
|
||||
|
||||
CScript witnessScript = GetScriptForMultisig(2, {uncompressedPubkey, pubkeys[1]});
|
||||
scriptPubKey = GetScriptForDestination(WitnessV0ScriptHash(witnessScript));
|
||||
@@ -648,12 +648,12 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
|
||||
// Keystore has keys and witnessScript, but no P2SH redeemScript
|
||||
keystore.AddCScript(witnessScript);
|
||||
BOOST_CHECK(keystore.AddCScript(witnessScript));
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
|
||||
// Keystore has keys, witnessScript, P2SH redeemScript
|
||||
keystore.AddCScript(scriptPubKey);
|
||||
BOOST_CHECK(keystore.AddCScript(scriptPubKey));
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
}
|
||||
@@ -671,14 +671,14 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
|
||||
// Keystore has witnessScript and P2SH redeemScript, but no keys
|
||||
keystore.AddCScript(redeemScript);
|
||||
keystore.AddCScript(witnessScript);
|
||||
BOOST_CHECK(keystore.AddCScript(redeemScript));
|
||||
BOOST_CHECK(keystore.AddCScript(witnessScript));
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_NO);
|
||||
|
||||
// Keystore has keys, witnessScript, P2SH redeemScript
|
||||
keystore.AddKey(keys[0]);
|
||||
keystore.AddKey(keys[1]);
|
||||
BOOST_CHECK(keystore.AddKey(keys[0]));
|
||||
BOOST_CHECK(keystore.AddKey(keys[1]));
|
||||
result = IsMine(keystore, scriptPubKey);
|
||||
BOOST_CHECK_EQUAL(result, ISMINE_SPENDABLE);
|
||||
}
|
||||
@@ -686,7 +686,7 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
// OP_RETURN
|
||||
{
|
||||
CBasicKeyStore keystore;
|
||||
keystore.AddKey(keys[0]);
|
||||
BOOST_CHECK(keystore.AddKey(keys[0]));
|
||||
|
||||
scriptPubKey.clear();
|
||||
scriptPubKey << OP_RETURN << ToByteVector(pubkeys[0]);
|
||||
@@ -698,7 +698,7 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
// witness unspendable
|
||||
{
|
||||
CBasicKeyStore keystore;
|
||||
keystore.AddKey(keys[0]);
|
||||
BOOST_CHECK(keystore.AddKey(keys[0]));
|
||||
|
||||
scriptPubKey.clear();
|
||||
scriptPubKey << OP_0 << ToByteVector(ParseHex("aabb"));
|
||||
@@ -710,7 +710,7 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
// witness unknown
|
||||
{
|
||||
CBasicKeyStore keystore;
|
||||
keystore.AddKey(keys[0]);
|
||||
BOOST_CHECK(keystore.AddKey(keys[0]));
|
||||
|
||||
scriptPubKey.clear();
|
||||
scriptPubKey << OP_16 << ToByteVector(ParseHex("aabb"));
|
||||
@@ -722,7 +722,7 @@ BOOST_AUTO_TEST_CASE(script_standard_IsMine)
|
||||
// Nonstandard
|
||||
{
|
||||
CBasicKeyStore keystore;
|
||||
keystore.AddKey(keys[0]);
|
||||
BOOST_CHECK(keystore.AddKey(keys[0]));
|
||||
|
||||
scriptPubKey.clear();
|
||||
scriptPubKey << OP_9 << OP_ADD << OP_11 << OP_EQUAL;
|
||||
|
||||
Reference in New Issue
Block a user