Merge pull request #2498 from lucas-clemente/fix-qlog-time-on-ci

use the TIMESCALE_FACTOR in the qlog tests
This commit is contained in:
Marten Seemann
2020-04-16 16:18:40 +07:00
committed by GitHub
2 changed files with 31 additions and 18 deletions

View File

@@ -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{})

View File

@@ -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
@@ -351,7 +351,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
@@ -362,7 +362,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
@@ -373,7 +373,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
@@ -401,7 +401,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
@@ -463,7 +463,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
@@ -475,7 +475,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)))
@@ -484,7 +484,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
@@ -501,7 +501,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
@@ -520,7 +520,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
@@ -536,7 +536,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
@@ -552,7 +552,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
@@ -565,7 +565,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