test: goroutine leak detector (#45)

- Add goroutine leak detector to help avoid Goroutine leaks by Uber:
https://github.com/uber-go/goleak
- By using this package, I found an issue in frecency:
- Close global DB connection to fix goroutine leak in tests
(https://github.com/versenilvis/IRIS/commit/831f86ffdf01124da537c149559fa41f37500e1e)
This commit is contained in:
VERSE
2026-07-28 10:18:19 +07:00
committed by GitHub
parent 84f2c8f49a
commit 5a05dc7553
14 changed files with 185 additions and 3 deletions
+21
View File
@@ -0,0 +1,21 @@
package root
import (
"os"
"testing"
"go.uber.org/goleak"
"github.com/versenilvis/iris/internal/scoring"
)
func TestMain(m *testing.M) {
code := m.Run()
scoring.CloseGlobalFrecencyStore()
if code == 0 {
if err := goleak.Find(); err != nil {
_, _ = os.Stderr.WriteString("goleak: " + err.Error() + "\n")
os.Exit(1)
}
}
os.Exit(code)
}