1
0
mirror of https://github.com/pocketbase/pocketbase.git synced 2024-11-21 13:35:49 +02:00

call TestApp.ResetBootstrap as finalizer of the test OnTerminate hook

This commit is contained in:
Gani Georgiev 2024-03-20 23:47:19 +02:00
parent 03cec9a5ac
commit 309c4fe6fe
2 changed files with 13 additions and 5 deletions

View File

@ -1279,7 +1279,7 @@ func (app *BaseApp) initLogger() error {
for {
select {
case <-done:
handler.WriteAll(ctx)
return
case <-ticker.C:
handler.WriteAll(ctx)
}
@ -1289,8 +1289,13 @@ func (app *BaseApp) initLogger() error {
app.logger = slog.New(handler)
app.OnTerminate().PreAdd(func(e *TerminateEvent) error {
// write all remaining logs before ticker.Stop to avoid races with ResetBootstrap user calls
handler.WriteAll(context.Background())
ticker.Stop()
done <- true
return nil
})

View File

@ -40,10 +40,13 @@ type TestApp struct {
//
// After this call, the app instance shouldn't be used anymore.
func (t *TestApp) Cleanup() {
t.ResetEventCalls()
t.ResetBootstrapState()
t.TestMailer.Reset()
t.OnTerminate().Trigger(&core.TerminateEvent{App: t})
t.OnTerminate().Trigger(&core.TerminateEvent{App: t}, func(e *core.TerminateEvent) error {
t.TestMailer.Reset()
t.ResetEventCalls()
t.ResetBootstrapState()
return nil
})
if t.DataDir() != "" {
os.RemoveAll(t.DataDir())