From 02c6f0c2d948b2a0b201c0d047e24e68cbed4c3d Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Thu, 16 Apr 2020 10:31:22 +0700 Subject: [PATCH] use the TIMESCALE_FACTOR in the qlog tests --- qlog/qlog_suite_test.go | 13 +++++++++++++ qlog/qlog_test.go | 36 ++++++++++++++++++------------------ 2 files changed, 31 insertions(+), 18 deletions(-) diff --git a/qlog/qlog_suite_test.go b/qlog/qlog_suite_test.go index 43b4616db..420b8a6c3 100644 --- a/qlog/qlog_suite_test.go +++ b/qlog/qlog_suite_test.go @@ -2,7 +2,10 @@ package qlog import ( "encoding/json" + "os" + "strconv" "testing" + "time" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" @@ -13,6 +16,16 @@ func TestQlog(t *testing.T) { RunSpecs(t, "qlog Suite") } +//nolint:unparam +func scaleDuration(t time.Duration) time.Duration { + scaleFactor := 1 + if f, err := strconv.Atoi(os.Getenv("TIMESCALE_FACTOR")); err == nil { // parsing "" errors, so this works fine if the env is not set + scaleFactor = f + } + Expect(scaleFactor).ToNot(BeZero()) + return time.Duration(scaleFactor) * t +} + func checkEncoding(data []byte, expected map[string]interface{}) { // unmarshal the data m := make(map[string]interface{}) diff --git a/qlog/qlog_test.go b/qlog/qlog_test.go index 2a7a49320..47a81d2cc 100644 --- a/qlog/qlog_test.go +++ b/qlog/qlog_test.go @@ -144,7 +144,7 @@ var _ = Describe("Tracer", func() { protocol.ConnectionID{5, 6, 7, 8}, ) entry := exportAndParseSingle() - Expect(entry.Time).To(BeTemporally("~", time.Now(), 10*time.Millisecond)) + Expect(entry.Time).To(BeTemporally("~", time.Now(), scaleDuration(10*time.Millisecond))) Expect(entry.Category).To(Equal("transport")) Expect(entry.Name).To(Equal("connection_started")) ev := entry.Event @@ -176,7 +176,7 @@ var _ = Describe("Tracer", func() { ActiveConnectionIDLimit: 7, }) entry := exportAndParseSingle() - Expect(entry.Time).To(BeTemporally("~", time.Now(), 10*time.Millisecond)) + Expect(entry.Time).To(BeTemporally("~", time.Now(), scaleDuration(10*time.Millisecond))) Expect(entry.Category).To(Equal("transport")) Expect(entry.Name).To(Equal("parameters_set")) ev := entry.Event @@ -198,7 +198,7 @@ var _ = Describe("Tracer", func() { It("records received transport parameters", func() { tracer.ReceivedTransportParameters(&wire.TransportParameters{}) entry := exportAndParseSingle() - Expect(entry.Time).To(BeTemporally("~", time.Now(), 10*time.Millisecond)) + Expect(entry.Time).To(BeTemporally("~", time.Now(), scaleDuration(10*time.Millisecond))) Expect(entry.Category).To(Equal("transport")) Expect(entry.Name).To(Equal("parameters_set")) ev := entry.Event @@ -225,7 +225,7 @@ var _ = Describe("Tracer", func() { }, ) entry := exportAndParseSingle() - Expect(entry.Time).To(BeTemporally("~", time.Now(), 10*time.Millisecond)) + Expect(entry.Time).To(BeTemporally("~", time.Now(), scaleDuration(10*time.Millisecond))) Expect(entry.Category).To(Equal("transport")) Expect(entry.Name).To(Equal("packet_sent")) ev := entry.Event @@ -282,7 +282,7 @@ var _ = Describe("Tracer", func() { }, ) entry := exportAndParseSingle() - Expect(entry.Time).To(BeTemporally("~", time.Now(), 10*time.Millisecond)) + Expect(entry.Time).To(BeTemporally("~", time.Now(), scaleDuration(10*time.Millisecond))) Expect(entry.Category).To(Equal("transport")) Expect(entry.Name).To(Equal("packet_received")) ev := entry.Event @@ -307,7 +307,7 @@ var _ = Describe("Tracer", func() { }, ) entry := exportAndParseSingle() - Expect(entry.Time).To(BeTemporally("~", time.Now(), 10*time.Millisecond)) + Expect(entry.Time).To(BeTemporally("~", time.Now(), scaleDuration(10*time.Millisecond))) Expect(entry.Category).To(Equal("transport")) Expect(entry.Name).To(Equal("packet_received")) ev := entry.Event @@ -324,7 +324,7 @@ var _ = Describe("Tracer", func() { It("records a received Retry packet", func() { tracer.ReceivedStatelessReset(&[16]byte{0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}) entry := exportAndParseSingle() - Expect(entry.Time).To(BeTemporally("~", time.Now(), 10*time.Millisecond)) + Expect(entry.Time).To(BeTemporally("~", time.Now(), scaleDuration(10*time.Millisecond))) Expect(entry.Category).To(Equal("transport")) Expect(entry.Name).To(Equal("packet_received")) ev := entry.Event @@ -335,7 +335,7 @@ var _ = Describe("Tracer", func() { It("records buffered packets", func() { tracer.BufferedPacket(PacketTypeHandshake) entry := exportAndParseSingle() - Expect(entry.Time).To(BeTemporally("~", time.Now(), 10*time.Millisecond)) + Expect(entry.Time).To(BeTemporally("~", time.Now(), scaleDuration(10*time.Millisecond))) Expect(entry.Category).To(Equal("transport")) Expect(entry.Name).To(Equal("packet_buffered")) ev := entry.Event @@ -346,7 +346,7 @@ var _ = Describe("Tracer", func() { It("records dropped packets", func() { tracer.DroppedPacket(PacketTypeHandshake, 1337, PacketDropPayloadDecryptError) entry := exportAndParseSingle() - Expect(entry.Time).To(BeTemporally("~", time.Now(), 10*time.Millisecond)) + Expect(entry.Time).To(BeTemporally("~", time.Now(), scaleDuration(10*time.Millisecond))) Expect(entry.Category).To(Equal("transport")) Expect(entry.Name).To(Equal("packet_dropped")) ev := entry.Event @@ -374,7 +374,7 @@ var _ = Describe("Tracer", func() { 42, ) entry := exportAndParseSingle() - Expect(entry.Time).To(BeTemporally("~", time.Now(), 10*time.Millisecond)) + Expect(entry.Time).To(BeTemporally("~", time.Now(), scaleDuration(10*time.Millisecond))) Expect(entry.Category).To(Equal("recovery")) Expect(entry.Name).To(Equal("metrics_updated")) ev := entry.Event @@ -436,7 +436,7 @@ var _ = Describe("Tracer", func() { It("records lost packets", func() { tracer.LostPacket(protocol.EncryptionHandshake, 42, PacketLossReorderingThreshold) entry := exportAndParseSingle() - Expect(entry.Time).To(BeTemporally("~", time.Now(), 10*time.Millisecond)) + Expect(entry.Time).To(BeTemporally("~", time.Now(), scaleDuration(10*time.Millisecond))) Expect(entry.Category).To(Equal("recovery")) Expect(entry.Name).To(Equal("packet_lost")) ev := entry.Event @@ -448,7 +448,7 @@ var _ = Describe("Tracer", func() { It("records PTO changes", func() { tracer.UpdatedPTOCount(42) entry := exportAndParseSingle() - Expect(entry.Time).To(BeTemporally("~", time.Now(), 10*time.Millisecond)) + Expect(entry.Time).To(BeTemporally("~", time.Now(), scaleDuration(10*time.Millisecond))) Expect(entry.Category).To(Equal("recovery")) Expect(entry.Name).To(Equal("metrics_updated")) Expect(entry.Event).To(HaveKeyWithValue("pto_count", float64(42))) @@ -457,7 +457,7 @@ var _ = Describe("Tracer", func() { It("records TLS key updates", func() { tracer.UpdatedKeyFromTLS(protocol.EncryptionHandshake, protocol.PerspectiveClient) entry := exportAndParseSingle() - Expect(entry.Time).To(BeTemporally("~", time.Now(), 10*time.Millisecond)) + Expect(entry.Time).To(BeTemporally("~", time.Now(), scaleDuration(10*time.Millisecond))) Expect(entry.Category).To(Equal("security")) Expect(entry.Name).To(Equal("key_updated")) ev := entry.Event @@ -474,7 +474,7 @@ var _ = Describe("Tracer", func() { Expect(entries).To(HaveLen(2)) var keyTypes []string for _, entry := range entries { - Expect(entry.Time).To(BeTemporally("~", time.Now(), 10*time.Millisecond)) + Expect(entry.Time).To(BeTemporally("~", time.Now(), scaleDuration(10*time.Millisecond))) Expect(entry.Category).To(Equal("security")) Expect(entry.Name).To(Equal("key_updated")) ev := entry.Event @@ -493,7 +493,7 @@ var _ = Describe("Tracer", func() { Expect(entries).To(HaveLen(2)) var keyTypes []string for _, entry := range entries { - Expect(entry.Time).To(BeTemporally("~", time.Now(), 10*time.Millisecond)) + Expect(entry.Time).To(BeTemporally("~", time.Now(), scaleDuration(10*time.Millisecond))) Expect(entry.Category).To(Equal("security")) Expect(entry.Name).To(Equal("key_retired")) ev := entry.Event @@ -509,7 +509,7 @@ var _ = Describe("Tracer", func() { timeout := time.Now().Add(137 * time.Millisecond) tracer.SetLossTimer(TimerTypePTO, protocol.EncryptionHandshake, timeout) entry := exportAndParseSingle() - Expect(entry.Time).To(BeTemporally("~", time.Now(), 10*time.Millisecond)) + Expect(entry.Time).To(BeTemporally("~", time.Now(), scaleDuration(10*time.Millisecond))) Expect(entry.Category).To(Equal("recovery")) Expect(entry.Name).To(Equal("loss_timer_updated")) ev := entry.Event @@ -525,7 +525,7 @@ var _ = Describe("Tracer", func() { It("records when the loss timer expires", func() { tracer.LossTimerExpired(TimerTypeACK, protocol.Encryption1RTT) entry := exportAndParseSingle() - Expect(entry.Time).To(BeTemporally("~", time.Now(), 10*time.Millisecond)) + Expect(entry.Time).To(BeTemporally("~", time.Now(), scaleDuration(10*time.Millisecond))) Expect(entry.Category).To(Equal("recovery")) Expect(entry.Name).To(Equal("loss_timer_updated")) ev := entry.Event @@ -538,7 +538,7 @@ var _ = Describe("Tracer", func() { It("records when the timer is canceled", func() { tracer.LossTimerCanceled() entry := exportAndParseSingle() - Expect(entry.Time).To(BeTemporally("~", time.Now(), 10*time.Millisecond)) + Expect(entry.Time).To(BeTemporally("~", time.Now(), scaleDuration(10*time.Millisecond))) Expect(entry.Category).To(Equal("recovery")) Expect(entry.Name).To(Equal("loss_timer_updated")) ev := entry.Event