Skip to content

Commit 69e6af7

Browse files
committed
Tidy up tests.
1 parent 619428e commit 69e6af7

1 file changed

Lines changed: 12 additions & 28 deletions

File tree

rtp/session_test.go

Lines changed: 12 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,6 @@ func payloadForSequenceNumber(sequenceNumber int) []byte {
6262
return payload
6363
}
6464

65-
// payloadIndex recovers the packet index from a payload built by indexPayload, or -1 if
66-
// the payload is not a single repeated index - meaning bytes from two different packets
67-
// were interleaved into the buffer.
6865
func sequenceNumberFromPayload(payload []byte) int {
6966
if len(payload) < 2 || len(payload)%2 != 0 {
7067
return -1
@@ -78,53 +75,42 @@ func verifyRTPPacket(h *rtp.Header, payload []byte) error {
7875
return fmt.Errorf("header never written: ReadRTP reported %d bytes carrying packet %d, but left the header zeroed",
7976
len(payload), sequenceNumberFromPayload(payload))
8077
}
78+
8179
if h.Version != 2 || h.PayloadType != testPayloadType || h.SSRC != testStreamSSRC {
8280
return fmt.Errorf("torn header: got version=%d pt=%d ssrc=%#x, want version=2 pt=%d ssrc=%#x (seq=%d ts=%d)",
8381
h.Version, h.PayloadType, h.SSRC, testPayloadType, uint32(testStreamSSRC), h.SequenceNumber, h.Timestamp)
8482
}
83+
8584
sequenceNumber := int(h.SequenceNumber)
8685
if exp := uint32(sequenceNumber) * testClockPerPkt; h.Timestamp != exp {
8786
return fmt.Errorf("torn header: seq=%d implies ts=%d, got ts=%d - header fields came from two packets",
8887
sequenceNumber, exp, h.Timestamp)
8988
}
89+
9090
if len(payload) != testPayloadSize {
9191
return fmt.Errorf("unexpected payload length: header says seq=%d, but ReadRTP returned %d payload bytes, want %d",
9292
sequenceNumber, len(payload), testPayloadSize)
9393
}
94-
switch got := sequenceNumberFromPayload(payload); got {
95-
case sequenceNumber:
96-
return nil
97-
default:
94+
95+
gotSequeneceNumber := sequenceNumberFromPayload(payload)
96+
if gotSequeneceNumber != sequenceNumber {
9897
return fmt.Errorf("mixed payload: header says seq=%d, but the buffer holds packet %d",
99-
sequenceNumber, got)
98+
sequenceNumber, gotSequeneceNumber)
10099
}
100+
return nil
101101
}
102102

103103
func TestSessionZeroCopyHandoff(t *testing.T) {
104-
// Deliberately not gated on enableZeroCopy: "every delivered packet is internally
105-
// consistent" must hold on both delivery paths, so this test is also the check that
106-
// compiling the handoff out is a safe mitigation.
107-
for i := range 10 {
108-
t.Run(fmt.Sprint(i), func(t *testing.T) {
109-
testZeroCopyHandoff(t, 8000)
110-
})
111-
}
112-
}
113-
114-
func testZeroCopyHandoff(t *testing.T, packets int) {
104+
numPackets := 8000
115105
cli, srv := net.Pipe()
116106
defer cli.Close()
117107
require.NoError(t, srv.SetReadDeadline(time.Now().Add(30*time.Second)))
118108

119109
sess := NewSession(logger.GetLogger(), srv)
120110
defer sess.Close()
121111

122-
// TODO(alexfish): Clean this up.
123-
124-
// Blast one SSRC with no pacing, so the pump delivers packets microseconds apart
125-
// rather than a frame apart, then a sentinel SSRC to mark the end of the run.
126-
sent := make([][]byte, 0, packets+1)
127-
for i := range packets {
112+
sent := make([][]byte, 0, numPackets+1)
113+
for i := range numPackets {
128114
sent = append(sent, newRTPPacket(t, testStreamSSRC, i))
129115
}
130116
sent = append(sent, newRTPPacket(t, testSentinelSSRC, 0))
@@ -138,8 +124,6 @@ func testZeroCopyHandoff(t *testing.T, packets int) {
138124
}
139125
})
140126

141-
// The first AcceptStream returns the stream for testStreamSSRC. Its first packet is
142-
// already sitting in r.recv - AcceptStream calls r.write before it returns.
143127
r, ssrc, err := sess.AcceptStream()
144128
require.NoError(t, err)
145129
require.EqualValues(t, uint32(testStreamSSRC), ssrc)
@@ -181,5 +165,5 @@ func testZeroCopyHandoff(t *testing.T, packets int) {
181165

182166
require.NoError(t, verifyErr, "ReadRTP delivered a corrupted packet")
183167
require.NotZero(t, delivered, "no packets were delivered")
184-
t.Logf("delivered %d/%d packets", delivered, packets)
168+
t.Logf("delivered %d/%d packets", delivered, numPackets)
185169
}

0 commit comments

Comments
 (0)