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

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: address Alexei comments. 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 std::vector<rtc::SocketAddress> servers;
14 int requests_per_ip; 14 int requests_per_ip;
15 int interval_ms; 15 int interval_ms;
16 int shared_socket_mode; 16 int shared_socket_mode;
17 int batch_size;
18 int total_batches;
17 std::string params; 19 std::string params;
18 20
19 params = "20/500/1/server:3478/server2:3478"; 21 params = "20/500/1/3/3/server:3478/server2:3478";
20 EXPECT_TRUE(ParseStunProbeParameters(params, &requests_per_ip, &interval_ms, 22 EXPECT_TRUE(StunProberTrial::ParseParameters(
21 &shared_socket_mode, &servers)); 23 params, &requests_per_ip, &interval_ms, &shared_socket_mode, &batch_size,
24 &total_batches, &servers));
22 EXPECT_EQ(requests_per_ip, 20); 25 EXPECT_EQ(requests_per_ip, 20);
23 EXPECT_EQ(interval_ms, 100); 26 EXPECT_EQ(interval_ms, 100);
24 EXPECT_EQ(shared_socket_mode, 1); 27 EXPECT_EQ(shared_socket_mode, 1);
25 EXPECT_EQ(servers.size(), 2u); 28 EXPECT_EQ(servers.size(), 2u);
26 EXPECT_EQ(servers[0], rtc::SocketAddress("server", 3478)); 29 EXPECT_EQ(servers[0], rtc::SocketAddress("server", 3478));
27 EXPECT_EQ(servers[1], rtc::SocketAddress("server2", 3478)); 30 EXPECT_EQ(servers[1], rtc::SocketAddress("server2", 3478));
31 EXPECT_EQ(batch_size, 3);
32 EXPECT_EQ(total_batches, 3);
28 servers.clear(); 33 servers.clear();
29 34
30 params = "///server:3478"; 35 params = "/////server:3478";
31 EXPECT_TRUE(ParseStunProbeParameters(params, &requests_per_ip, &interval_ms, 36 EXPECT_TRUE(StunProberTrial::ParseParameters(
32 &shared_socket_mode, &servers)); 37 params, &requests_per_ip, &interval_ms, &shared_socket_mode, &batch_size,
38 &total_batches, &servers));
33 EXPECT_EQ(requests_per_ip, 10); 39 EXPECT_EQ(requests_per_ip, 10);
34 EXPECT_EQ(servers.size(), 1u); 40 EXPECT_EQ(servers.size(), 1u);
35 EXPECT_EQ(servers[0], rtc::SocketAddress("server", 3478)); 41 EXPECT_EQ(servers[0], rtc::SocketAddress("server", 3478));
36 servers.clear(); 42 servers.clear();
37 43
38 params = "////"; 44 // Make sure there is no crash. Parsing will fail as there is no server
39 EXPECT_FALSE(ParseStunProbeParameters(params, &requests_per_ip, &interval_ms, 45 // specified.
40 &shared_socket_mode, &servers)); 46 params = "/////";
47 EXPECT_FALSE(StunProberTrial::ParseParameters(
48 params, &requests_per_ip, &interval_ms, &shared_socket_mode, &batch_size,
49 &total_batches, &servers));
41 } 50 }
42 51
43 } // namespace content 52 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698