diff --git a/examples_test.go b/examples_test.go index 8603e6c9..edb0774e 100644 --- a/examples_test.go +++ b/examples_test.go @@ -28,6 +28,12 @@ func TestMain(m *testing.M) { panic(err) } toRun := m.Run() + if example_index != nil { + err = example_index.Close() + if err != nil { + panic(err) + } + } err = os.RemoveAll("path_to_index") if err != nil { panic(err) diff --git a/index_test.go b/index_test.go index 8f6ff6ee..b56fb958 100644 --- a/index_test.go +++ b/index_test.go @@ -593,6 +593,12 @@ func TestBatchString(t *testing.T) { if err != nil { t.Fatal(err) } + defer func() { + err := index.Close() + if err != nil { + t.Fatal(err) + } + }() batch := index.NewBatch() err = batch.Index("a", []byte("{}")) @@ -634,12 +640,24 @@ func TestIndexMetadataRaceBug198(t *testing.T) { if err != nil { t.Fatal(err) } + defer func() { + err := index.Close() + if err != nil { + t.Fatal(err) + } + }() + done := make(chan struct{}) go func() { for { - _, err := index.DocCount() - if err != nil { - t.Fatal(err) + select { + case <-done: + return + default: + _, err := index.DocCount() + if err != nil { + t.Fatal(err) + } } } }() @@ -655,7 +673,7 @@ func TestIndexMetadataRaceBug198(t *testing.T) { t.Fatal(err) } } - + close(done) } func TestIndexCountMatchSearch(t *testing.T) { @@ -1122,6 +1140,12 @@ func TestIndexEmptyDocId(t *testing.T) { if err != nil { t.Fatal(err) } + defer func() { + err := index.Close() + if err != nil { + t.Fatal(err) + } + }() doc := map[string]interface{}{ "body": "nodocid",