use atomic for test shutdown

This commit is contained in:
Hayden 2022-09-05 00:13:04 -08:00
parent 0c6fe4ea62
commit d10ae78725

View file

@ -2,6 +2,7 @@ package server
import (
"net/http"
"sync/atomic"
"testing"
"time"
@ -72,14 +73,14 @@ func Test_GracefulServerShutdownWithWorkers(t *testing.T) {
}
func Test_GracefulServerShutdownWithRequests(t *testing.T) {
isFinished := false
var isFinished atomic.Bool
router := http.NewServeMux()
// add long running handler func
router.HandleFunc("/test", func(rw http.ResponseWriter, r *http.Request) {
time.Sleep(time.Second * 3)
isFinished = true
isFinished.Store(true)
})
svr := testServer(t, router)
@ -94,5 +95,5 @@ func Test_GracefulServerShutdownWithRequests(t *testing.T) {
err := svr.Shutdown("test")
assert.NoError(t, err)
assert.True(t, isFinished)
assert.True(t, isFinished.Load())
}