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

Side by Side Diff: content/renderer/media/webrtc/stun_field_trial_unittest.cc

Issue 1417663004: Create an experiment to study whether too many bindings cause NAT failure (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update UMA name in code to match with histograms.xml Created 5 years, 1 month 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/media/webrtc/stun_field_trial.h" 5 #include "content/renderer/media/webrtc/stun_field_trial.h"
6 6
7 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
8 #include "third_party/webrtc/base/socketaddress.h" 8 #include "third_party/webrtc/base/socketaddress.h"
9 9
10 namespace content { 10 namespace content {
11 11
12 TEST(StunProbeTrial, VerifyParameterParsing) { 12 TEST(StunProbeTrial, VerifyParameterParsing) {
13 std::vector<rtc::SocketAddress> servers; 13 StunProberTrial::Param params;
14 int requests_per_ip; 14 std::string param_line;
15 int interval_ms;
16 int shared_socket_mode;
17 std::string params;
18 15
19 params = "20/500/1/server:3478/server2:3478"; 16 param_line = "20/500/1/3/3/server:3478/server2:3478";
20 EXPECT_TRUE(ParseStunProbeParameters(params, &requests_per_ip, &interval_ms, 17 EXPECT_TRUE(StunProberTrial::ParseParameters(param_line, &params));
21 &shared_socket_mode, &servers)); 18 EXPECT_EQ(params.requests_per_ip, 20);
22 EXPECT_EQ(requests_per_ip, 20); 19 EXPECT_EQ(params.interval_ms, 100);
23 EXPECT_EQ(interval_ms, 100); 20 EXPECT_EQ(params.shared_socket_mode, 1);
24 EXPECT_EQ(shared_socket_mode, 1); 21 EXPECT_EQ(params.servers.size(), 2u);
25 EXPECT_EQ(servers.size(), 2u); 22 EXPECT_EQ(params.servers[0], rtc::SocketAddress("server", 3478));
26 EXPECT_EQ(servers[0], rtc::SocketAddress("server", 3478)); 23 EXPECT_EQ(params.servers[1], rtc::SocketAddress("server2", 3478));
27 EXPECT_EQ(servers[1], rtc::SocketAddress("server2", 3478)); 24 EXPECT_EQ(params.batch_size, 3);
28 servers.clear(); 25 EXPECT_EQ(params.total_batches, 3);
26 params.servers.clear();
29 27
30 params = "///server:3478"; 28 param_line = "/////server:3478";
31 EXPECT_TRUE(ParseStunProbeParameters(params, &requests_per_ip, &interval_ms, 29 EXPECT_TRUE(StunProberTrial::ParseParameters(param_line, &params));
32 &shared_socket_mode, &servers)); 30 EXPECT_EQ(params.requests_per_ip, 10);
33 EXPECT_EQ(requests_per_ip, 10); 31 EXPECT_EQ(params.servers.size(), 1u);
34 EXPECT_EQ(servers.size(), 1u); 32 EXPECT_EQ(params.servers[0], rtc::SocketAddress("server", 3478));
35 EXPECT_EQ(servers[0], rtc::SocketAddress("server", 3478)); 33 params.servers.clear();
36 servers.clear();
37 34
38 params = "////"; 35 // Make sure there is no crash. Parsing will fail as there is no server
39 EXPECT_FALSE(ParseStunProbeParameters(params, &requests_per_ip, &interval_ms, 36 // specified.
40 &shared_socket_mode, &servers)); 37 param_line = "/////";
38 EXPECT_FALSE(StunProberTrial::ParseParameters(param_line, &params));
41 } 39 }
42 40
43 } // namespace content 41 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/webrtc/stun_field_trial.cc ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698