add some testing for byte format in stack.PushInt()
should verify all the formats now. pain causes endian little.
This commit is contained in:
parent
501b711301
commit
625541e202
2 changed files with 91 additions and 39 deletions
|
@ -234,6 +234,58 @@ var stackTests = []stackTest{
|
||||||
nil,
|
nil,
|
||||||
[][]byte{},
|
[][]byte{},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"PushInt 0",
|
||||||
|
[][]byte{},
|
||||||
|
func(stack *btcscript.Stack) error {
|
||||||
|
stack.PushInt(big.NewInt(0))
|
||||||
|
return nil
|
||||||
|
},
|
||||||
|
nil,
|
||||||
|
[][]byte{{}},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PushInt 1",
|
||||||
|
[][]byte{},
|
||||||
|
func(stack *btcscript.Stack) error {
|
||||||
|
stack.PushInt(big.NewInt(1))
|
||||||
|
return nil
|
||||||
|
},
|
||||||
|
nil,
|
||||||
|
[][]byte{{0x1}},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PushInt -1",
|
||||||
|
[][]byte{},
|
||||||
|
func(stack *btcscript.Stack) error {
|
||||||
|
stack.PushInt(big.NewInt(-1))
|
||||||
|
return nil
|
||||||
|
},
|
||||||
|
nil,
|
||||||
|
[][]byte{{0x81}},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PushInt two bytes",
|
||||||
|
[][]byte{},
|
||||||
|
func(stack *btcscript.Stack) error {
|
||||||
|
stack.PushInt(big.NewInt(256))
|
||||||
|
return nil
|
||||||
|
},
|
||||||
|
nil,
|
||||||
|
// little endian.. *sigh*
|
||||||
|
[][]byte{{0x00, 0x01}},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PushInt leading zeros",
|
||||||
|
[][]byte{},
|
||||||
|
func(stack *btcscript.Stack) error {
|
||||||
|
// this will have the highbit set
|
||||||
|
stack.PushInt(big.NewInt(128))
|
||||||
|
return nil
|
||||||
|
},
|
||||||
|
nil,
|
||||||
|
[][]byte{{0x80, 0x00 }},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"dup",
|
"dup",
|
||||||
[][]byte{{1}},
|
[][]byte{{1}},
|
||||||
|
|
|
@ -1,54 +1,55 @@
|
||||||
|
|
||||||
github.com/conformal/btcscript/stack.go asInt 100.00% (18/18)
|
github.com/conformal/btcscript/stack.go asInt 100.00% (18/18)
|
||||||
|
github.com/conformal/btcscript/stack.go fromInt 100.00% (14/14)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeWithin 100.00% (13/13)
|
github.com/conformal/btcscript/opcode.go opcodeWithin 100.00% (13/13)
|
||||||
|
github.com/conformal/btcscript/opcode.go parsedOpcode.bytes 100.00% (12/12)
|
||||||
github.com/conformal/btcscript/opcode.go parsedOpcode.print 100.00% (12/12)
|
github.com/conformal/btcscript/opcode.go parsedOpcode.print 100.00% (12/12)
|
||||||
github.com/conformal/btcscript/stack.go Stack.nipN 100.00% (12/12)
|
github.com/conformal/btcscript/stack.go Stack.nipN 100.00% (12/12)
|
||||||
github.com/conformal/btcscript/opcode.go parsedOpcode.bytes 100.00% (12/12)
|
|
||||||
github.com/conformal/btcscript/opcode.go opcodeNotIf 100.00% (11/11)
|
github.com/conformal/btcscript/opcode.go opcodeNotIf 100.00% (11/11)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeIf 100.00% (11/11)
|
github.com/conformal/btcscript/opcode.go opcodeIf 100.00% (11/11)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeMin 100.00% (10/10)
|
|
||||||
github.com/conformal/btcscript/opcode.go opcodeLessThanOrEqual 100.00% (10/10)
|
|
||||||
github.com/conformal/btcscript/opcode.go opcodeGreaterThan 100.00% (10/10)
|
|
||||||
github.com/conformal/btcscript/opcode.go opcodeNumEqual 100.00% (10/10)
|
|
||||||
github.com/conformal/btcscript/opcode.go opcodeLessThan 100.00% (10/10)
|
github.com/conformal/btcscript/opcode.go opcodeLessThan 100.00% (10/10)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeGreaterThanOrEqual 100.00% (10/10)
|
|
||||||
github.com/conformal/btcscript/stack.go Stack.Tuck 100.00% (10/10)
|
|
||||||
github.com/conformal/btcscript/opcode.go opcodeBoolAnd 100.00% (10/10)
|
github.com/conformal/btcscript/opcode.go opcodeBoolAnd 100.00% (10/10)
|
||||||
|
github.com/conformal/btcscript/opcode.go opcodeNumEqual 100.00% (10/10)
|
||||||
|
github.com/conformal/btcscript/opcode.go opcodeMin 100.00% (10/10)
|
||||||
|
github.com/conformal/btcscript/opcode.go opcodeMax 100.00% (10/10)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeBoolOr 100.00% (10/10)
|
github.com/conformal/btcscript/opcode.go opcodeBoolOr 100.00% (10/10)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeNumNotEqual 100.00% (10/10)
|
github.com/conformal/btcscript/opcode.go opcodeNumNotEqual 100.00% (10/10)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeMax 100.00% (10/10)
|
github.com/conformal/btcscript/opcode.go opcodeGreaterThan 100.00% (10/10)
|
||||||
github.com/conformal/btcscript/stack.go Stack.OverN 100.00% (9/9)
|
github.com/conformal/btcscript/stack.go Stack.Tuck 100.00% (10/10)
|
||||||
|
github.com/conformal/btcscript/opcode.go opcodeLessThanOrEqual 100.00% (10/10)
|
||||||
|
github.com/conformal/btcscript/opcode.go opcodeGreaterThanOrEqual 100.00% (10/10)
|
||||||
github.com/conformal/btcscript/stack.go Stack.RotN 100.00% (9/9)
|
github.com/conformal/btcscript/stack.go Stack.RotN 100.00% (9/9)
|
||||||
github.com/conformal/btcscript/stack.go Stack.SwapN 100.00% (9/9)
|
|
||||||
github.com/conformal/btcscript/script.go DisasmString 100.00% (9/9)
|
github.com/conformal/btcscript/script.go DisasmString 100.00% (9/9)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeEqual 100.00% (8/8)
|
github.com/conformal/btcscript/stack.go Stack.OverN 100.00% (9/9)
|
||||||
github.com/conformal/btcscript/stack.go Stack.DupN 100.00% (8/8)
|
github.com/conformal/btcscript/stack.go Stack.SwapN 100.00% (9/9)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeAdd 100.00% (8/8)
|
github.com/conformal/btcscript/opcode.go opcodeAdd 100.00% (8/8)
|
||||||
|
github.com/conformal/btcscript/stack.go Stack.DupN 100.00% (8/8)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeSub 100.00% (8/8)
|
github.com/conformal/btcscript/opcode.go opcodeSub 100.00% (8/8)
|
||||||
|
github.com/conformal/btcscript/opcode.go opcodeEqual 100.00% (8/8)
|
||||||
github.com/conformal/btcscript/opcode.go opcodePick 100.00% (7/7)
|
github.com/conformal/btcscript/opcode.go opcodePick 100.00% (7/7)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeNot 100.00% (7/7)
|
github.com/conformal/btcscript/opcode.go opcodeNot 100.00% (7/7)
|
||||||
github.com/conformal/btcscript/stack.go Stack.DropN 100.00% (7/7)
|
|
||||||
github.com/conformal/btcscript/opcode.go opcode0NotEqual 100.00% (7/7)
|
github.com/conformal/btcscript/opcode.go opcode0NotEqual 100.00% (7/7)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeRoll 100.00% (7/7)
|
github.com/conformal/btcscript/opcode.go opcodeRoll 100.00% (7/7)
|
||||||
|
github.com/conformal/btcscript/stack.go Stack.DropN 100.00% (7/7)
|
||||||
|
github.com/conformal/btcscript/opcode.go opcodeIfDup 100.00% (6/6)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeVerify 100.00% (6/6)
|
github.com/conformal/btcscript/opcode.go opcodeVerify 100.00% (6/6)
|
||||||
github.com/conformal/btcscript/opcode.go parsedOpcode.conditional 100.00% (6/6)
|
github.com/conformal/btcscript/opcode.go parsedOpcode.conditional 100.00% (6/6)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeElse 100.00% (6/6)
|
github.com/conformal/btcscript/opcode.go opcodeElse 100.00% (6/6)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeIfDup 100.00% (6/6)
|
github.com/conformal/btcscript/script.go removeOpcodeByData 100.00% (5/5)
|
||||||
github.com/conformal/btcscript/stack.go Stack.PickN 100.00% (5/5)
|
github.com/conformal/btcscript/script.go removeOpcode 100.00% (5/5)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeFromAltStack 100.00% (5/5)
|
|
||||||
github.com/conformal/btcscript/opcode.go opcode1Add 100.00% (5/5)
|
github.com/conformal/btcscript/opcode.go opcode1Add 100.00% (5/5)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeToAltStack 100.00% (5/5)
|
github.com/conformal/btcscript/opcode.go opcodeSize 100.00% (5/5)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeNegate 100.00% (5/5)
|
github.com/conformal/btcscript/opcode.go opcodeAbs 100.00% (5/5)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeRipemd160 100.00% (5/5)
|
github.com/conformal/btcscript/opcode.go opcodeRipemd160 100.00% (5/5)
|
||||||
|
github.com/conformal/btcscript/opcode.go opcodeToAltStack 100.00% (5/5)
|
||||||
|
github.com/conformal/btcscript/opcode.go opcodeFromAltStack 100.00% (5/5)
|
||||||
|
github.com/conformal/btcscript/opcode.go opcodeNegate 100.00% (5/5)
|
||||||
|
github.com/conformal/btcscript/opcode.go opcodeSha256 100.00% (5/5)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeHash160 100.00% (5/5)
|
github.com/conformal/btcscript/opcode.go opcodeHash160 100.00% (5/5)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeHash256 100.00% (5/5)
|
github.com/conformal/btcscript/opcode.go opcodeHash256 100.00% (5/5)
|
||||||
github.com/conformal/btcscript/opcode.go opcode1Sub 100.00% (5/5)
|
github.com/conformal/btcscript/stack.go Stack.PickN 100.00% (5/5)
|
||||||
github.com/conformal/btcscript/stack.go Stack.RollN 100.00% (5/5)
|
github.com/conformal/btcscript/stack.go Stack.RollN 100.00% (5/5)
|
||||||
github.com/conformal/btcscript/script.go removeOpcodeByData 100.00% (5/5)
|
github.com/conformal/btcscript/opcode.go opcode1Sub 100.00% (5/5)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeSize 100.00% (5/5)
|
|
||||||
github.com/conformal/btcscript/script.go removeOpcode 100.00% (5/5)
|
|
||||||
github.com/conformal/btcscript/opcode.go opcodeAbs 100.00% (5/5)
|
|
||||||
github.com/conformal/btcscript/opcode.go opcodeSha256 100.00% (5/5)
|
|
||||||
github.com/conformal/btcscript/stack.go Stack.PeekBool 100.00% (4/4)
|
github.com/conformal/btcscript/stack.go Stack.PeekBool 100.00% (4/4)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeEndif 100.00% (4/4)
|
github.com/conformal/btcscript/opcode.go opcodeEndif 100.00% (4/4)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeEqualVerify 100.00% (4/4)
|
github.com/conformal/btcscript/opcode.go opcodeEqualVerify 100.00% (4/4)
|
||||||
|
@ -61,20 +62,20 @@ github.com/conformal/btcscript/stack.go Stack.PeekInt 100.00% (4/4)
|
||||||
github.com/conformal/btcscript/stack.go Stack.PopInt 100.00% (4/4)
|
github.com/conformal/btcscript/stack.go Stack.PopInt 100.00% (4/4)
|
||||||
github.com/conformal/btcscript/script.go unparseScript 100.00% (4/4)
|
github.com/conformal/btcscript/script.go unparseScript 100.00% (4/4)
|
||||||
github.com/conformal/btcscript/script.go getStack 100.00% (4/4)
|
github.com/conformal/btcscript/script.go getStack 100.00% (4/4)
|
||||||
github.com/conformal/btcscript/script.go scriptUInt16 100.00% (3/3)
|
|
||||||
github.com/conformal/btcscript/script.go scriptUInt8 100.00% (3/3)
|
github.com/conformal/btcscript/script.go scriptUInt8 100.00% (3/3)
|
||||||
github.com/conformal/btcscript/script.go setStack 100.00% (3/3)
|
github.com/conformal/btcscript/address.go ScriptType.String 100.00% (3/3)
|
||||||
github.com/conformal/btcscript/stack.go fromBool 100.00% (3/3)
|
github.com/conformal/btcscript/stack.go fromBool 100.00% (3/3)
|
||||||
github.com/conformal/btcscript/script.go scriptUInt32 100.00% (3/3)
|
github.com/conformal/btcscript/script.go scriptUInt32 100.00% (3/3)
|
||||||
github.com/conformal/btcscript/address.go ScriptType.String 100.00% (3/3)
|
github.com/conformal/btcscript/script.go setStack 100.00% (3/3)
|
||||||
github.com/conformal/btcscript/stack.go Stack.Depth 100.00% (2/2)
|
github.com/conformal/btcscript/script.go scriptUInt16 100.00% (3/3)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeDepth 100.00% (2/2)
|
|
||||||
github.com/conformal/btcscript/opcode.go calcHash 100.00% (2/2)
|
|
||||||
github.com/conformal/btcscript/opcode.go opcode1Negate 100.00% (2/2)
|
|
||||||
github.com/conformal/btcscript/stack.go Stack.NipN 100.00% (2/2)
|
github.com/conformal/btcscript/stack.go Stack.NipN 100.00% (2/2)
|
||||||
|
github.com/conformal/btcscript/opcode.go opcodeDepth 100.00% (2/2)
|
||||||
|
github.com/conformal/btcscript/stack.go Stack.Depth 100.00% (2/2)
|
||||||
|
github.com/conformal/btcscript/opcode.go calcHash 100.00% (2/2)
|
||||||
github.com/conformal/btcscript/opcode.go opcodePushData 100.00% (2/2)
|
github.com/conformal/btcscript/opcode.go opcodePushData 100.00% (2/2)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeN 100.00% (2/2)
|
github.com/conformal/btcscript/opcode.go opcodeN 100.00% (2/2)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeFalse 100.00% (2/2)
|
github.com/conformal/btcscript/opcode.go opcodeFalse 100.00% (2/2)
|
||||||
|
github.com/conformal/btcscript/opcode.go opcode1Negate 100.00% (2/2)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeCodeSeparator 100.00% (2/2)
|
github.com/conformal/btcscript/opcode.go opcodeCodeSeparator 100.00% (2/2)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeDisabled 100.00% (1/1)
|
github.com/conformal/btcscript/opcode.go opcodeDisabled 100.00% (1/1)
|
||||||
github.com/conformal/btcscript/opcode.go init 100.00% (1/1)
|
github.com/conformal/btcscript/opcode.go init 100.00% (1/1)
|
||||||
|
@ -86,10 +87,10 @@ github.com/conformal/btcscript/opcode.go opcode2Over 100.00% (1/1)
|
||||||
github.com/conformal/btcscript/opcode.go opcode3Dup 100.00% (1/1)
|
github.com/conformal/btcscript/opcode.go opcode3Dup 100.00% (1/1)
|
||||||
github.com/conformal/btcscript/opcode.go opcode2Dup 100.00% (1/1)
|
github.com/conformal/btcscript/opcode.go opcode2Dup 100.00% (1/1)
|
||||||
github.com/conformal/btcscript/opcode.go opcode2Drop 100.00% (1/1)
|
github.com/conformal/btcscript/opcode.go opcode2Drop 100.00% (1/1)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeReturn 100.00% (1/1)
|
|
||||||
github.com/conformal/btcscript/opcode.go calcHash160 100.00% (1/1)
|
github.com/conformal/btcscript/opcode.go calcHash160 100.00% (1/1)
|
||||||
|
github.com/conformal/btcscript/opcode.go opcodeReturn 100.00% (1/1)
|
||||||
github.com/conformal/btcscript/opcode.go opcode2Swap 100.00% (1/1)
|
github.com/conformal/btcscript/opcode.go opcode2Swap 100.00% (1/1)
|
||||||
github.com/conformal/btcscript/stack.go Stack.PushByteArray 100.00% (1/1)
|
github.com/conformal/btcscript/opcode.go opcodeNop 100.00% (1/1)
|
||||||
github.com/conformal/btcscript/stack.go Stack.PushInt 100.00% (1/1)
|
github.com/conformal/btcscript/stack.go Stack.PushInt 100.00% (1/1)
|
||||||
github.com/conformal/btcscript/stack.go Stack.PopByteArray 100.00% (1/1)
|
github.com/conformal/btcscript/stack.go Stack.PopByteArray 100.00% (1/1)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeInvalid 100.00% (1/1)
|
github.com/conformal/btcscript/opcode.go opcodeInvalid 100.00% (1/1)
|
||||||
|
@ -112,28 +113,27 @@ github.com/conformal/btcscript/opcode.go opcodeOver 100.00% (1/1)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeNip 100.00% (1/1)
|
github.com/conformal/btcscript/opcode.go opcodeNip 100.00% (1/1)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeDup 100.00% (1/1)
|
github.com/conformal/btcscript/opcode.go opcodeDup 100.00% (1/1)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeDrop 100.00% (1/1)
|
github.com/conformal/btcscript/opcode.go opcodeDrop 100.00% (1/1)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeNop 100.00% (1/1)
|
github.com/conformal/btcscript/stack.go Stack.PushByteArray 100.00% (1/1)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeCheckMultiSig 96.43% (54/56)
|
github.com/conformal/btcscript/opcode.go opcodeCheckMultiSig 96.43% (54/56)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeCheckSig 96.15% (25/26)
|
github.com/conformal/btcscript/opcode.go opcodeCheckSig 96.15% (25/26)
|
||||||
github.com/conformal/btcscript/script.go NewScript 95.24% (20/21)
|
github.com/conformal/btcscript/script.go NewScript 95.24% (20/21)
|
||||||
github.com/conformal/btcscript/address.go ScriptToAddress 94.92% (56/59)
|
github.com/conformal/btcscript/address.go ScriptToAddress 94.92% (56/59)
|
||||||
github.com/conformal/btcscript/script.go parseScript 93.75% (30/32)
|
github.com/conformal/btcscript/script.go parseScript 93.75% (30/32)
|
||||||
github.com/conformal/btcscript/stack.go fromInt 92.86% (13/14)
|
|
||||||
github.com/conformal/btcscript/script.go Script.Step 89.19% (33/37)
|
github.com/conformal/btcscript/script.go Script.Step 89.19% (33/37)
|
||||||
github.com/conformal/btcscript/script.go typeOfScript 83.33% (5/6)
|
github.com/conformal/btcscript/script.go typeOfScript 83.33% (5/6)
|
||||||
github.com/conformal/btcscript/opcode.go parsedOpcode.exec 80.00% (4/5)
|
github.com/conformal/btcscript/opcode.go parsedOpcode.exec 80.00% (4/5)
|
||||||
github.com/conformal/btcscript/script.go Script.DisasmScript 80.00% (4/5)
|
github.com/conformal/btcscript/script.go Script.DisasmScript 80.00% (4/5)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeCheckSigVerify 75.00% (3/4)
|
|
||||||
github.com/conformal/btcscript/script.go Script.curPC 75.00% (3/4)
|
github.com/conformal/btcscript/script.go Script.curPC 75.00% (3/4)
|
||||||
github.com/conformal/btcscript/script.go Script.DisasmPC 75.00% (3/4)
|
|
||||||
github.com/conformal/btcscript/script.go isPushOnly 75.00% (3/4)
|
github.com/conformal/btcscript/script.go isPushOnly 75.00% (3/4)
|
||||||
|
github.com/conformal/btcscript/opcode.go opcodeCheckSigVerify 75.00% (3/4)
|
||||||
|
github.com/conformal/btcscript/script.go Script.DisasmPC 75.00% (3/4)
|
||||||
github.com/conformal/btcscript/script.go Script.calcScriptHash 71.43% (25/35)
|
github.com/conformal/btcscript/script.go Script.calcScriptHash 71.43% (25/35)
|
||||||
github.com/conformal/btcscript/script.go Script.CheckErrorCondition 71.43% (10/14)
|
github.com/conformal/btcscript/script.go Script.CheckErrorCondition 71.43% (10/14)
|
||||||
github.com/conformal/btcscript/script.go isMultiSig 61.54% (8/13)
|
github.com/conformal/btcscript/script.go isMultiSig 61.54% (8/13)
|
||||||
github.com/conformal/btcscript/opcode.go opcodeSha1 60.00% (3/5)
|
|
||||||
github.com/conformal/btcscript/script.go Script.validPC 60.00% (3/5)
|
github.com/conformal/btcscript/script.go Script.validPC 60.00% (3/5)
|
||||||
|
github.com/conformal/btcscript/opcode.go opcodeSha1 60.00% (3/5)
|
||||||
github.com/conformal/btcscript/script.go Script.Execute 44.44% (8/18)
|
github.com/conformal/btcscript/script.go Script.Execute 44.44% (8/18)
|
||||||
github.com/conformal/btcscript/log.go SetLogWriter 0.00% (0/7)
|
github.com/conformal/btcscript/log.go SetLogWriter 0.00% (0/7)
|
||||||
github.com/conformal/btcscript/log.go logClosure.String 0.00% (0/1)
|
github.com/conformal/btcscript/log.go logClosure.String 0.00% (0/1)
|
||||||
github.com/conformal/btcscript -------------------------- 93.09% (835/897)
|
github.com/conformal/btcscript -------------------------- 93.20% (836/897)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue