Closed Bug 1676874 Opened 9 months ago Closed 8 months ago

[wpt-sync] Sync PR 26504 - [PeerConnection] Improve getStats WPT test coverage.

Categories

(Core :: WebRTC, task, P4)

task

Tracking

()

RESOLVED FIXED
85 Branch
Tracking Status
firefox85 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 26504 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/26504
Details from upstream follow.

b'Henrik Bostr\xc3\xb6m <hbos@chromium.org>' wrote:

[PeerConnection] Improve getStats WPT test coverage.

This CL adds two tests that were discovered missing while reviewing the
test coverage, both of which we PASS:

  • getStats(tracks) throws if multiple senders have the same track.
    (Actually it turns out such a test already existed, the old one is
    removed because it was asserting unnecessarily many things.)
  • RTCStats.timestamp should increase with time elapsed.

This CL also makes exsting tests more behavior driven. For example, a
test that advertises itself to test that "report containing
peer-connection stats and outbound-track-stats" should not fail because
we have not implemented RTCCodecStats.sdpFmtpLine - this is a different
behavior. As such, tests that are designed to test the existence of a
stats object are updated only to verifty that.
What the old tests were verifying - that the ENTIRE REPORT is valid
and complete - are moved and tested in a separate test that asserts
everything. These tests we still fail because of sdpFmtpLine.

Lastly, the outbound-rtp tests are updated to perform an O/A exchange.
If the senders have not been negotiated to send, there doesn't exist
an encoder or RTP packetizer and as such we shouldn't expect to see
outbound-rtp objects yet.

Bug: chromium:1148286
Change-Id: I50d476f1af41cfae80c77486481e3de06a1d8f5d
Reviewed-on: https://chromium-review.googlesource.com/2534911
WPT-Export-Revision: 51f447d01548f29bb40759d079668001de7707d0

Component: web-platform-tests → WebRTC
Product: Testing → Core

CI Results

Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 1 tests and 18 subtests

Status Summary

Firefox

PASS : 6
FAIL : 2
TIMEOUT: 2
NOTRUN : 9

Chrome

OK : 1
PASS : 16
FAIL : 2

Safari

OK : 1
PASS : 13
FAIL : 5

Links

GitHub PR Head
GitHub PR Base

Details

Firefox-only Failures

/webrtc/RTCPeerConnection-getStats.https.html: TIMEOUT
getStats() with no argument should return stats report containing peer-connection stats on an empty PC: FAIL
getStats() track with stream returns peer-connection and outbound-rtp stats: TIMEOUT
getStats() track without stream returns peer-connection and outbound-rtp stats: NOTRUN
getStats() audio outbound-rtp contains all mandatory stats: NOTRUN
getStats() video outbound-rtp contains all mandatory stats: NOTRUN
getStats() on track associated with RTCRtpSender should return stats report containing outbound-rtp stats: NOTRUN
getStats() on track associated with RTCRtpReceiver should return stats report containing inbound-rtp stats: NOTRUN
getStats() inbound-rtp contains all mandatory stats: NOTRUN
RTCStats.timestamp increases with time passing: NOTRUN

New Tests That Don't Pass

/webrtc/RTCPeerConnection-getStats.https.html: TIMEOUT (Chrome: OK, Safari: OK)
getStats() with no argument should return stats report containing peer-connection stats on an empty PC: FAIL (Chrome: PASS, Safari: PASS)
getStats() track with stream returns peer-connection and outbound-rtp stats: TIMEOUT (Chrome: PASS, Safari: PASS)
getStats() track without stream returns peer-connection and outbound-rtp stats: NOTRUN (Chrome: PASS, Safari: PASS)
getStats() audio outbound-rtp contains all mandatory stats: NOTRUN (Chrome: PASS, Safari: PASS)
getStats() video outbound-rtp contains all mandatory stats: NOTRUN (Chrome: PASS, Safari: PASS)
getStats() audio and video validate all mandatory stats: NOTRUN (Chrome: FAIL, Safari: FAIL)
getStats() on track associated with RTCRtpSender should return stats report containing outbound-rtp stats: NOTRUN (Chrome: PASS, Safari: PASS)
getStats() on track associated with RTCRtpReceiver should return stats report containing inbound-rtp stats: NOTRUN (Chrome: PASS, Safari: PASS)
getStats() inbound-rtp contains all mandatory stats: NOTRUN (Chrome: PASS, Safari: PASS)
getStats() with connected peer connections having tracks and data channel should return all mandatory to implement stats: FAIL (Chrome: FAIL, Safari: FAIL)
getStats(track) should not work if multiple senders have the same track: NOTRUN (Chrome: PASS, Safari: FAIL)
RTCStats.timestamp increases with time passing: NOTRUN (Chrome: PASS, Safari: PASS)

Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d37d180b0a14
[wpt PR 26504] - [PeerConnection] Improve getStats WPT test coverage., a=testonly
https://hg.mozilla.org/integration/autoland/rev/28e6aa715c45
[wpt PR 26504] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 8 months ago
Resolution: --- → FIXED
Target Milestone: --- → 85 Branch
You need to log in before you can comment on or make changes to this bug.