mirror of https://github.com/poanetwork/gecko.git
Merge branch 'master' into vms-avm-service-test
This commit is contained in:
commit
7dd42eae2b
|
@ -24,6 +24,22 @@ var (
|
||||||
errMissing = errors.New("missing")
|
errMissing = errors.New("missing")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func TestEngineShutdown(t *testing.T) {
|
||||||
|
config := DefaultConfig()
|
||||||
|
vmShutdownCalled := false
|
||||||
|
vm := &VMTest{}
|
||||||
|
vm.ShutdownF = func() { vmShutdownCalled = true }
|
||||||
|
config.VM = vm
|
||||||
|
|
||||||
|
transitive := &Transitive{}
|
||||||
|
|
||||||
|
transitive.Initialize(config)
|
||||||
|
transitive.finishBootstrapping()
|
||||||
|
transitive.Shutdown()
|
||||||
|
if !vmShutdownCalled {
|
||||||
|
t.Fatal("Shutting down the Transitive did not shutdown the VM")
|
||||||
|
}
|
||||||
|
}
|
||||||
func TestEngineAdd(t *testing.T) {
|
func TestEngineAdd(t *testing.T) {
|
||||||
config := DefaultConfig()
|
config := DefaultConfig()
|
||||||
|
|
||||||
|
|
|
@ -64,6 +64,17 @@ func setup(t *testing.T) (validators.Validator, validators.Set, *common.SenderTe
|
||||||
return vdr, vals, sender, vm, te, gBlk
|
return vdr, vals, sender, vm, te, gBlk
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestEngineShutdown(t *testing.T) {
|
||||||
|
_, _, _, vm, transitive, _ := setup(t)
|
||||||
|
vmShutdownCalled := false
|
||||||
|
vm.ShutdownF = func() { vmShutdownCalled = true }
|
||||||
|
vm.CantShutdown = false
|
||||||
|
transitive.Shutdown()
|
||||||
|
if !vmShutdownCalled {
|
||||||
|
t.Fatal("Shutting down the Transitive did not shutdown the VM")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestEngineAdd(t *testing.T) {
|
func TestEngineAdd(t *testing.T) {
|
||||||
vdr, _, sender, vm, te, _ := setup(t)
|
vdr, _, sender, vm, te, _ := setup(t)
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
package sender
|
package sender
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"reflect"
|
||||||
"sync"
|
"sync"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
@ -17,6 +18,20 @@ import (
|
||||||
"github.com/ava-labs/gecko/utils/logging"
|
"github.com/ava-labs/gecko/utils/logging"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func TestSenderContext(t *testing.T) {
|
||||||
|
context := snow.DefaultContextTest()
|
||||||
|
sender := Sender{}
|
||||||
|
sender.Initialize(
|
||||||
|
context,
|
||||||
|
&ExternalSenderTest{},
|
||||||
|
&router.ChainRouter{},
|
||||||
|
&timeout.Manager{},
|
||||||
|
)
|
||||||
|
if res := sender.Context(); !reflect.DeepEqual(res, context) {
|
||||||
|
t.Fatalf("Got %#v, expected %#v", res, context)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestTimeout(t *testing.T) {
|
func TestTimeout(t *testing.T) {
|
||||||
tm := timeout.Manager{}
|
tm := timeout.Manager{}
|
||||||
tm.Initialize(time.Millisecond)
|
tm.Initialize(time.Millisecond)
|
||||||
|
|
|
@ -46,6 +46,7 @@ type myStruct struct {
|
||||||
InnerStruct MyInnerStruct `serialize:"true"`
|
InnerStruct MyInnerStruct `serialize:"true"`
|
||||||
InnerStruct2 *MyInnerStruct `serialize:"true"`
|
InnerStruct2 *MyInnerStruct `serialize:"true"`
|
||||||
Member1 int64 `serialize:"true"`
|
Member1 int64 `serialize:"true"`
|
||||||
|
Member2 uint16 `serialize:"true"`
|
||||||
MyArray2 [5]string `serialize:"true"`
|
MyArray2 [5]string `serialize:"true"`
|
||||||
MyArray3 [3]MyInnerStruct `serialize:"true"`
|
MyArray3 [3]MyInnerStruct `serialize:"true"`
|
||||||
MyArray4 [2]*MyInnerStruct2 `serialize:"true"`
|
MyArray4 [2]*MyInnerStruct2 `serialize:"true"`
|
||||||
|
@ -67,6 +68,7 @@ func TestStruct(t *testing.T) {
|
||||||
InnerStruct: MyInnerStruct{"hello"},
|
InnerStruct: MyInnerStruct{"hello"},
|
||||||
InnerStruct2: &MyInnerStruct{"yello"},
|
InnerStruct2: &MyInnerStruct{"yello"},
|
||||||
Member1: 1,
|
Member1: 1,
|
||||||
|
Member2: 2,
|
||||||
MySlice: []byte{1, 2, 3, 4},
|
MySlice: []byte{1, 2, 3, 4},
|
||||||
MySlice2: []string{"one", "two", "three"},
|
MySlice2: []string{"one", "two", "three"},
|
||||||
MySlice3: []MyInnerStruct{MyInnerStruct{"a"}, MyInnerStruct{"b"}, MyInnerStruct{"c"}},
|
MySlice3: []MyInnerStruct{MyInnerStruct{"a"}, MyInnerStruct{"b"}, MyInnerStruct{"c"}},
|
||||||
|
@ -410,6 +412,33 @@ func TestSerializeUnexportedField(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestSerializeOfNoSerializeField(t *testing.T) {
|
||||||
|
type s struct {
|
||||||
|
SerializedField string `serialize:"true"`
|
||||||
|
UnserializedField string `serialize:"false"`
|
||||||
|
UnmarkedField string
|
||||||
|
}
|
||||||
|
myS := s{
|
||||||
|
SerializedField: "Serialize me",
|
||||||
|
UnserializedField: "Do not serialize me",
|
||||||
|
UnmarkedField: "No declared serialize",
|
||||||
|
}
|
||||||
|
codec := NewDefault()
|
||||||
|
marshalled, err := codec.Marshal(myS)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Unexpected error %q", err)
|
||||||
|
}
|
||||||
|
unmarshalled := s{}
|
||||||
|
err = codec.Unmarshal(marshalled, &unmarshalled)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Unexpected error %q", err)
|
||||||
|
}
|
||||||
|
expectedUnmarshalled := s{SerializedField: "Serialize me"}
|
||||||
|
if !reflect.DeepEqual(unmarshalled, expectedUnmarshalled) {
|
||||||
|
t.Fatalf("Got %#v, expected %#v", unmarshalled, expectedUnmarshalled)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
type simpleSliceStruct struct {
|
type simpleSliceStruct struct {
|
||||||
Arr []uint32 `serialize:"true"`
|
Arr []uint32 `serialize:"true"`
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue