forked from TrueCloudLab/neoneo-go
Merge pull request #286 from nspcc-dev/interop-test-dummy
neo-vm test reusage sample, merging as per #283 discussion.
This commit is contained in:
commit
e99d916b04
3 changed files with 113 additions and 0 deletions
81
pkg/vm/csharp-interop-test/push/pushbytes1.json
Normal file
81
pkg/vm/csharp-interop-test/push/pushbytes1.json
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
{
|
||||||
|
"category": "Push",
|
||||||
|
"name": "PUSHBYTES1",
|
||||||
|
"tests":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "Good definition",
|
||||||
|
"script": "0x0100",
|
||||||
|
"steps":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"actions":
|
||||||
|
[
|
||||||
|
"StepInto"
|
||||||
|
],
|
||||||
|
"result":
|
||||||
|
{
|
||||||
|
"state": "Break",
|
||||||
|
"invocationStack":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"scriptHash": "0xFBC22D517F38E7612798ECE8E5957CF6C41D8CAF",
|
||||||
|
"instructionPointer": 2,
|
||||||
|
"nextInstruction": "RET",
|
||||||
|
"evaluationStack":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"type": "ByteArray",
|
||||||
|
"value": "0x00"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"actions":
|
||||||
|
[
|
||||||
|
"StepInto"
|
||||||
|
],
|
||||||
|
"result":
|
||||||
|
{
|
||||||
|
"state": "Halt",
|
||||||
|
"resultStack":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"type": "ByteArray",
|
||||||
|
"value": "0x00"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Wrong definition (without enough length)",
|
||||||
|
"script": "0x01",
|
||||||
|
"steps":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"actions":
|
||||||
|
[
|
||||||
|
"StepInto"
|
||||||
|
],
|
||||||
|
"result":
|
||||||
|
{
|
||||||
|
"state": "Fault",
|
||||||
|
"invocationStack":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"scriptHash": "0xC51B66BCED5E4491001BD702669770DCCF440982",
|
||||||
|
"instructionPointer": 1,
|
||||||
|
"nextInstruction": "RET"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
6
pkg/vm/csharp-interop-test/readme.md
Normal file
6
pkg/vm/csharp-interop-test/readme.md
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
## Package VM Interop
|
||||||
|
|
||||||
|
|
||||||
|
This package will use the tests in the neo-vm repo to test interopabilty
|
||||||
|
|
||||||
|
|
26
pkg/vm/csharp-interop-test/testStruct.go
Normal file
26
pkg/vm/csharp-interop-test/testStruct.go
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
package csharpinterop
|
||||||
|
|
||||||
|
// VMUnitTest is a struct for capturing the fields in the json files
|
||||||
|
type VMUnitTest struct {
|
||||||
|
Category string `json:"category"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
Tests []struct {
|
||||||
|
Name string `json:"name"`
|
||||||
|
Script string `json:"script"`
|
||||||
|
Steps []struct {
|
||||||
|
Actions []string `json:"actions"`
|
||||||
|
Result struct {
|
||||||
|
State string `json:"state"`
|
||||||
|
InvocationStack []struct {
|
||||||
|
ScriptHash string `json:"scriptHash"`
|
||||||
|
InstructionPointer int `json:"instructionPointer"`
|
||||||
|
NextInstruction string `json:"nextInstruction"`
|
||||||
|
EvaluationStack []struct {
|
||||||
|
Type string `json:"type"`
|
||||||
|
Value string `json:"value"`
|
||||||
|
} `json:"evaluationStack"`
|
||||||
|
} `json:"invocationStack"`
|
||||||
|
} `json:"result"`
|
||||||
|
} `json:"steps"`
|
||||||
|
} `json:"tests"`
|
||||||
|
}
|
Loading…
Reference in a new issue