forked from rosa/hakurei
This can sometimes fire during testing due to how short the test is. Signed-off-by: Ophestra <cat@gensokyo.uk>
38 lines
631 B
Go
38 lines
631 B
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
"os"
|
|
"testing"
|
|
|
|
"hakurei.app/internal/pkg"
|
|
"hakurei.app/message"
|
|
)
|
|
|
|
func TestCache(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
cm := cache{
|
|
ctx: t.Context(),
|
|
msg: message.New(log.New(os.Stderr, "check: ", 0)),
|
|
base: t.TempDir(),
|
|
|
|
hostAbstract: true, idle: true,
|
|
}
|
|
defer cm.Close()
|
|
cm.Close()
|
|
|
|
if err := cm.open(); err != nil {
|
|
t.Fatalf("open: error = %v", err)
|
|
}
|
|
if err := cm.open(); err != os.ErrInvalid {
|
|
t.Errorf("(duplicate) open: error = %v", err)
|
|
}
|
|
|
|
if err := cm.Do(func(cache *pkg.Cache) error {
|
|
return cache.Scrub(0)
|
|
}); err != nil {
|
|
t.Errorf("Scrub: error = %v", err)
|
|
}
|
|
}
|