mirror of
https://github.com/navidrome/navidrome.git
synced 2026-03-04 06:35:52 +00:00
34 lines
1.0 KiB
Go
34 lines
1.0 KiB
Go
package scanner_test
|
|
|
|
import (
|
|
"context"
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/navidrome/navidrome/db"
|
|
"github.com/navidrome/navidrome/log"
|
|
"github.com/navidrome/navidrome/tests"
|
|
. "github.com/onsi/ginkgo/v2"
|
|
. "github.com/onsi/gomega"
|
|
"go.uber.org/goleak"
|
|
)
|
|
|
|
func TestScanner(t *testing.T) {
|
|
// Only run goleak checks when the GOLEAK env var is set
|
|
if os.Getenv("GOLEAK") != "" {
|
|
// Detect any goroutine leaks in the scanner code under test
|
|
defer goleak.VerifyNone(t,
|
|
goleak.IgnoreTopFunction("github.com/onsi/ginkgo/v2/internal/interrupt_handler.(*InterruptHandler).registerForInterrupts.func2"),
|
|
// The notify library creates internal goroutines for file watching that persist after Stop() is called.
|
|
// These are created by the plugins package tests and are expected behavior.
|
|
goleak.IgnoreTopFunction("github.com/rjeczalik/notify.(*recursiveTree).dispatch"),
|
|
)
|
|
}
|
|
|
|
tests.Init(t, true)
|
|
defer db.Close(context.Background())
|
|
log.SetLevel(log.LevelFatal)
|
|
RegisterFailHandler(Fail)
|
|
RunSpecs(t, "Scanner Suite")
|
|
}
|