mirror of
https://github.com/refraction-networking/uquic.git
synced 2025-03-31 10:47:35 +03:00
51 lines
981 B
Go
51 lines
981 B
Go
package quic
|
|
|
|
import (
|
|
"bytes"
|
|
"io"
|
|
"log"
|
|
"runtime/pprof"
|
|
"strings"
|
|
"sync"
|
|
"testing"
|
|
|
|
. "github.com/onsi/ginkgo/v2"
|
|
. "github.com/onsi/gomega"
|
|
"go.uber.org/mock/gomock"
|
|
)
|
|
|
|
func TestQuicGo(t *testing.T) {
|
|
RegisterFailHandler(Fail)
|
|
RunSpecs(t, "QUIC Suite")
|
|
}
|
|
|
|
var mockCtrl *gomock.Controller
|
|
|
|
var _ = BeforeEach(func() {
|
|
mockCtrl = gomock.NewController(GinkgoT())
|
|
|
|
// reset the sync.Once
|
|
connMuxerOnce = *new(sync.Once)
|
|
})
|
|
|
|
var _ = BeforeSuite(func() {
|
|
log.SetOutput(io.Discard)
|
|
})
|
|
|
|
func areServersRunning() bool {
|
|
var b bytes.Buffer
|
|
pprof.Lookup("goroutine").WriteTo(&b, 1)
|
|
return strings.Contains(b.String(), "quic-go.(*baseServer).run")
|
|
}
|
|
|
|
func areTransportsRunning() bool {
|
|
var b bytes.Buffer
|
|
pprof.Lookup("goroutine").WriteTo(&b, 1)
|
|
return strings.Contains(b.String(), "quic-go.(*Transport).listen")
|
|
}
|
|
|
|
var _ = AfterEach(func() {
|
|
mockCtrl.Finish()
|
|
Eventually(areServersRunning).Should(BeFalse())
|
|
Eventually(areTransportsRunning()).Should(BeFalse())
|
|
})
|