diff --git a/vms/avm/base_tx_test.go b/vms/avm/base_tx_test.go index e236230..78ebfa6 100644 --- a/vms/avm/base_tx_test.go +++ b/vms/avm/base_tx_test.go @@ -624,6 +624,7 @@ func TestBaseTxSyntacticVerifyUninitialized(t *testing.T) { func TestBaseTxSemanticVerify(t *testing.T) { genesisBytes, _, vm := GenesisVM(t) defer ctx.Lock.Unlock() + defer vm.Shutdown() genesisTx := GetFirstTxFromGenesisTest(genesisBytes, t) @@ -688,6 +689,7 @@ func TestBaseTxSemanticVerify(t *testing.T) { func TestBaseTxSemanticVerifyUnknownFx(t *testing.T) { genesisBytes, _, vm := GenesisVM(t) defer ctx.Lock.Unlock() + defer vm.Shutdown() vm.codec.RegisterType(&ava.TestVerifiable{}) @@ -737,6 +739,7 @@ func TestBaseTxSemanticVerifyUnknownFx(t *testing.T) { func TestBaseTxSemanticVerifyWrongAssetID(t *testing.T) { genesisBytes, _, vm := GenesisVM(t) defer ctx.Lock.Unlock() + defer vm.Shutdown() vm.codec.RegisterType(&ava.TestVerifiable{}) @@ -809,6 +812,7 @@ func TestBaseTxSemanticVerifyUnauthorizedFx(t *testing.T) { defer ctx.Lock.Unlock() vm := &VM{} + defer vm.Shutdown() err := vm.Initialize( ctx, memdb.New(), @@ -894,6 +898,7 @@ func TestBaseTxSemanticVerifyUnauthorizedFx(t *testing.T) { func TestBaseTxSemanticVerifyInvalidSignature(t *testing.T) { genesisBytes, _, vm := GenesisVM(t) defer ctx.Lock.Unlock() + defer vm.Shutdown() genesisTx := GetFirstTxFromGenesisTest(genesisBytes, t) @@ -945,6 +950,7 @@ func TestBaseTxSemanticVerifyInvalidSignature(t *testing.T) { func TestBaseTxSemanticVerifyMissingUTXO(t *testing.T) { genesisBytes, _, vm := GenesisVM(t) defer ctx.Lock.Unlock() + defer vm.Shutdown() genesisTx := GetFirstTxFromGenesisTest(genesisBytes, t) @@ -1009,6 +1015,7 @@ func TestBaseTxSemanticVerifyMissingUTXO(t *testing.T) { func TestBaseTxSemanticVerifyInvalidUTXO(t *testing.T) { genesisBytes, _, vm := GenesisVM(t) defer ctx.Lock.Unlock() + defer vm.Shutdown() genesisTx := GetFirstTxFromGenesisTest(genesisBytes, t) @@ -1141,6 +1148,7 @@ func TestBaseTxSemanticVerifyPendingInvalidUTXO(t *testing.T) { ctx.Lock.Lock() defer ctx.Lock.Unlock() + defer vm.Shutdown() vm.PendingTxs() @@ -1272,6 +1280,7 @@ func TestBaseTxSemanticVerifyPendingWrongAssetID(t *testing.T) { ctx.Lock.Lock() defer ctx.Lock.Unlock() + defer vm.Shutdown() vm.PendingTxs() @@ -1437,6 +1446,7 @@ func TestBaseTxSemanticVerifyPendingUnauthorizedFx(t *testing.T) { ctx.Lock.Lock() defer ctx.Lock.Unlock() + defer vm.Shutdown() vm.PendingTxs() @@ -1586,6 +1596,7 @@ func TestBaseTxSemanticVerifyPendingInvalidSignature(t *testing.T) { ctx.Lock.Lock() defer ctx.Lock.Unlock() + defer vm.Shutdown() vm.PendingTxs() diff --git a/vms/avm/export_tx_test.go b/vms/avm/export_tx_test.go index 98df9b0..f3cf508 100644 --- a/vms/avm/export_tx_test.go +++ b/vms/avm/export_tx_test.go @@ -217,6 +217,7 @@ func TestIssueExportTx(t *testing.T) { ctx.Lock.Lock() defer ctx.Lock.Unlock() + defer vm.Shutdown() txs := vm.PendingTxs() if len(txs) != 1 { @@ -350,6 +351,7 @@ func TestClearForceAcceptedExportTx(t *testing.T) { ctx.Lock.Lock() defer ctx.Lock.Unlock() + defer vm.Shutdown() txs := vm.PendingTxs() if len(txs) != 1 { diff --git a/vms/avm/import_tx_test.go b/vms/avm/import_tx_test.go index e0f5605..4f7ac43 100644 --- a/vms/avm/import_tx_test.go +++ b/vms/avm/import_tx_test.go @@ -222,6 +222,7 @@ func TestIssueImportTx(t *testing.T) { } ctx.Lock.Unlock() + defer func() { ctx.Lock.Lock(); vm.Shutdown(); ctx.Lock.Unlock() }() msg := <-issuer if msg != common.PendingTxs { @@ -265,6 +266,7 @@ func TestForceAcceptImportTx(t *testing.T) { defer ctx.Lock.Unlock() vm := &VM{platform: platformID} + defer vm.Shutdown() err := vm.Initialize( ctx, memdb.New(), diff --git a/vms/avm/prefixed_state_test.go b/vms/avm/prefixed_state_test.go index 1d790d5..f97757e 100644 --- a/vms/avm/prefixed_state_test.go +++ b/vms/avm/prefixed_state_test.go @@ -18,6 +18,8 @@ import ( func TestPrefixedSetsAndGets(t *testing.T) { _, _, vm := GenesisVM(t) ctx.Lock.Unlock() + defer func() { ctx.Lock.Lock(); vm.Shutdown(); ctx.Lock.Unlock() }() + state := vm.state vm.codec.RegisterType(&ava.TestVerifiable{}) @@ -113,6 +115,8 @@ func TestPrefixedSetsAndGets(t *testing.T) { func TestPrefixedFundingNoAddresses(t *testing.T) { _, _, vm := GenesisVM(t) ctx.Lock.Unlock() + defer func() { ctx.Lock.Lock(); vm.Shutdown(); ctx.Lock.Unlock() }() + state := vm.state vm.codec.RegisterType(&ava.TestVerifiable{}) @@ -137,6 +141,8 @@ func TestPrefixedFundingNoAddresses(t *testing.T) { func TestPrefixedFundingAddresses(t *testing.T) { _, _, vm := GenesisVM(t) ctx.Lock.Unlock() + defer func() { ctx.Lock.Lock(); vm.Shutdown(); ctx.Lock.Unlock() }() + state := vm.state vm.codec.RegisterType(&testAddressable{}) diff --git a/vms/avm/state_test.go b/vms/avm/state_test.go index aac77c1..4b8aa05 100644 --- a/vms/avm/state_test.go +++ b/vms/avm/state_test.go @@ -16,6 +16,7 @@ import ( func TestStateIDs(t *testing.T) { _, _, vm := GenesisVM(t) + defer func() { ctx.Lock.Lock(); vm.Shutdown(); ctx.Lock.Unlock() }() ctx.Lock.Unlock() state := vm.state.state @@ -126,6 +127,7 @@ func TestStateIDs(t *testing.T) { func TestStateStatuses(t *testing.T) { _, _, vm := GenesisVM(t) + defer func() { ctx.Lock.Lock(); vm.Shutdown(); ctx.Lock.Unlock() }() ctx.Lock.Unlock() state := vm.state.state @@ -175,6 +177,7 @@ func TestStateStatuses(t *testing.T) { func TestStateUTXOs(t *testing.T) { _, _, vm := GenesisVM(t) + defer func() { ctx.Lock.Lock(); vm.Shutdown(); ctx.Lock.Unlock() }() ctx.Lock.Unlock() state := vm.state.state @@ -246,6 +249,7 @@ func TestStateUTXOs(t *testing.T) { func TestStateTXs(t *testing.T) { _, _, vm := GenesisVM(t) + defer func() { ctx.Lock.Lock(); vm.Shutdown(); ctx.Lock.Unlock() }() ctx.Lock.Unlock() state := vm.state.state diff --git a/vms/avm/vm_test.go b/vms/avm/vm_test.go index cfd09e8..03f692f 100644 --- a/vms/avm/vm_test.go +++ b/vms/avm/vm_test.go @@ -396,6 +396,7 @@ func TestInvalidGenesis(t *testing.T) { defer ctx.Lock.Unlock() vm := &VM{} + defer vm.Shutdown() err := vm.Initialize( /*context=*/ ctx, /*db=*/ memdb.New(), @@ -415,6 +416,7 @@ func TestInvalidFx(t *testing.T) { defer ctx.Lock.Unlock() vm := &VM{} + defer vm.Shutdown() err := vm.Initialize( /*context=*/ ctx, /*db=*/ memdb.New(), @@ -436,6 +438,7 @@ func TestFxInitializationFailure(t *testing.T) { defer ctx.Lock.Unlock() vm := &VM{} + defer vm.Shutdown() err := vm.Initialize( /*context=*/ ctx, /*db=*/ memdb.New(), @@ -457,6 +460,7 @@ func (tx *testTxBytes) UnsignedBytes() []byte { return tx.unsignedBytes } func TestIssueTx(t *testing.T) { genesisBytes, issuer, vm := GenesisVM(t) + defer func() { ctx.Lock.Lock(); vm.Shutdown(); ctx.Lock.Unlock() }() newTx := NewTx(t, genesisBytes, vm) @@ -503,6 +507,7 @@ func TestGenesisGetUTXOs(t *testing.T) { // transaction should be issued successfully. func TestIssueDependentTx(t *testing.T) { genesisBytes, issuer, vm := GenesisVM(t) + defer func() { ctx.Lock.Lock(); vm.Shutdown(); ctx.Lock.Unlock() }() genesisTx := GetFirstTxFromGenesisTest(genesisBytes, t) @@ -638,6 +643,7 @@ func TestIssueNFT(t *testing.T) { defer ctx.Lock.Unlock() vm := &VM{} + defer vm.Shutdown() err := vm.Initialize( ctx, memdb.New(), @@ -796,6 +802,7 @@ func TestIssueProperty(t *testing.T) { defer ctx.Lock.Unlock() vm := &VM{} + defer vm.Shutdown() err := vm.Initialize( ctx, memdb.New(),