Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(60)

Unified Diff: tools/perf/metrics/webrtc_stats_unittest.py

Issue 2950373002: [Perf] Delete unused WebRTC stats metric (Closed)
Patch Set: Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/perf/metrics/webrtc_stats.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/perf/metrics/webrtc_stats_unittest.py
diff --git a/tools/perf/metrics/webrtc_stats_unittest.py b/tools/perf/metrics/webrtc_stats_unittest.py
deleted file mode 100644
index b6f3488566e4d21f92786377a8124e4f15ab3e58..0000000000000000000000000000000000000000
--- a/tools/perf/metrics/webrtc_stats_unittest.py
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright 2013 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import unittest
-
-from telemetry.testing import simple_mock
-
-from metrics import webrtc_stats
-
-
-SAMPLE_JSON = '''
-[[
- [
- {
- "googFrameHeightInput":"480",
- "googFrameWidthInput":"640",
- "googFrameRateSent": "23",
- "packetsLost":"-1",
- "googRtt":"19",
- "packetsSent":"1",
- "bytesSent":"0"
- },
- {
- "audioInputLevel":"2048",
- "googRtt":"20",
- "googCodecName":"opus",
- "packetsSent":"4",
- "bytesSent":"0"
- }
- ],
- [
- {
- "googFrameHeightInput":"480",
- "googFrameWidthInput":"640",
- "googFrameRateSent": "21",
- "packetsLost":"-1",
- "googRtt":"18",
- "packetsSent":"8",
- "bytesSent":"6291"
- },
- {
- "audioInputLevel":"1878",
- "googRtt":"17",
- "googCodecName":"opus",
- "packetsSent":"16",
- "bytesSent":"634"
- }
- ],
- [
- {
- "googAvailableSendBandwidth":"30000",
- "googAvailableRecvBandwidth":"12345",
- "googTargetEncBitrate":"10000"
- }
- ]
-],
-[
- [
- {
- "googFrameRateReceived": "23",
- "googDecodeMs":"0",
- "packetsReceived":"8",
- "googRenderDelayMs":"10",
- "googMaxDecodeMs":"0",
- "googRtt":"100"
- }
- ],
- [
- {
- "googFrameRateReceived": "23",
- "googDecodeMs":"14",
- "packetsReceived":"1234",
- "googRenderDelayMs":"102",
- "googMaxDecodeMs":"150",
- "googRtt":"101"
- }
- ],
- [
- {
- "googAvailableSendBandwidth":"40000",
- "googAvailableRecvBandwidth":"22345",
- "googTargetEncBitrate":"20000"
- }
- ]
-]]
-'''
-
-
-class FakeResults(object):
-
- def __init__(self, current_page):
- self._received_values = []
- self._current_page = current_page
-
- @property
- def received_values(self):
- return self._received_values
-
- @property
- def current_page(self):
- return self._current_page
-
- def AddValue(self, value):
- self._received_values.append(value)
-
-
-class WebRtcStatsUnittest(unittest.TestCase):
-
- def _RunMetricOnJson(self, json_to_return, stats_metric):
- tab = simple_mock.MockObject()
- page = simple_mock.MockObject()
-
- stats_metric.Start(page, tab)
-
- tab.ExpectCall('EvaluateJavaScript',
- simple_mock.DONT_CARE).WillReturn(json_to_return)
- stats_metric.Stop(page, tab)
-
- page.url = simple_mock.MockObject()
- results = FakeResults(page)
- stats_metric.AddResults(tab, results)
- return results
-
- def testExtractsValuesAsTimeSeries(self):
- stats_metric = webrtc_stats.WebRtcStatisticsMetric()
- results = self._RunMetricOnJson(SAMPLE_JSON, stats_metric)
-
- self.assertTrue(results.received_values,
- 'Expected values for googDecodeMs and others, got none.')
- self.assertEqual(results.received_values[1].name,
- 'peer_connection_0_audio_goog_rtt')
- self.assertEqual(results.received_values[1].values,
- [20.0, 17.0])
- self.assertEqual(results.received_values[7].name,
- 'peer_connection_1_video_goog_rtt')
- self.assertEqual(results.received_values[7].values,
- [100.0, 101.0])
-
- def testExtractsInterestingMetricsOnly(self):
- stats_metric = webrtc_stats.WebRtcStatisticsMetric()
- results = self._RunMetricOnJson(SAMPLE_JSON, stats_metric)
-
- self.assertTrue(len(results.received_values) > 0)
- self.assertIn('peer_connection_0', results.received_values[0].name,
- 'The result should be a ListOfScalarValues instance with '
- 'a name <peer connection id>_<statistic>.')
- all_names = [value.name for value in results.received_values]
- self.assertIn('peer_connection_0_audio_goog_rtt', all_names)
- self.assertNotIn('peer_connection_1_audio_goog_rtt', all_names,
- 'Peer connection 1 does not have a goog-rtt in '
- 'the JSON above, unlike peer connection 0 which does.')
- self.assertIn('peer_connection_0_video_goog_rtt', all_names)
- self.assertIn('peer_connection_1_video_goog_rtt', all_names)
- # The audio_audio is intentional since the code distinguishes audio reports
- # from video reports (even though audio_input_level is quite obvious).
- self.assertNotIn('peer_connection_0_audio_audio_input_level', all_names,
- 'Input level is in the JSON for both connections but '
- 'should not be reported since it is not interesting.')
- self.assertNotIn('peer_connection_1_audio_audio_input_level', all_names)
-
- def testExtractsParticularMetricsOnlyIfSpecified(self):
- only_goog_rtt_and_max_decode = ['googRtt', 'googMaxDecodeMs']
- stats_metric = webrtc_stats.WebRtcStatisticsMetric(
- particular_metrics=only_goog_rtt_and_max_decode)
- results = self._RunMetricOnJson(SAMPLE_JSON, stats_metric)
-
- received_names = [value.name for value in results.received_values]
- expected_names = ['peer_connection_0_audio_goog_rtt',
- 'peer_connection_0_video_goog_rtt',
- 'peer_connection_1_video_goog_max_decode_ms',
- 'peer_connection_1_video_goog_rtt']
- self.assertEqual(expected_names, received_names)
-
- def testReturnsIfJsonIsEmpty(self):
- stats_metric = webrtc_stats.WebRtcStatisticsMetric()
- results = self._RunMetricOnJson('[]', stats_metric)
- self.assertFalse(results.received_values)
« no previous file with comments | « tools/perf/metrics/webrtc_stats.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698