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

Side by Side Diff: components/copresence/handlers/audio/audio_directive_list_unittest.cc

Issue 453203002: Fixing memory leak in TimedMap (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "components/copresence/handlers/audio/audio_directive_list.h" 5 #include "components/copresence/handlers/audio/audio_directive_list.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "components/copresence/test/audio_test_support.h" 10 #include "components/copresence/test/audio_test_support.h"
(...skipping 15 matching lines...) Expand all
26 protected: 26 protected:
27 void EncodeToken(const std::string& token, 27 void EncodeToken(const std::string& token,
28 const AudioDirectiveList::SamplesCallback& callback) { 28 const AudioDirectiveList::SamplesCallback& callback) {
29 callback.Run(token, CreateRandomAudioRefCounted(0x1337, 1, 0x7331)); 29 callback.Run(token, CreateRandomAudioRefCounted(0x1337, 1, 0x7331));
30 } 30 }
31 31
32 base::MessageLoop message_loop_; 32 base::MessageLoop message_loop_;
33 scoped_ptr<AudioDirectiveList> directive_list_; 33 scoped_ptr<AudioDirectiveList> directive_list_;
34 }; 34 };
35 35
36 // TODO(rkc): Find and fix the memory leak here. 36 TEST_F(AudioDirectiveListTest, Basic) {
37 #define MAYBE_Basic DISABLED_Basic
38
39 TEST_F(AudioDirectiveListTest, MAYBE_Basic) {
40 const base::TimeDelta kZeroTtl = base::TimeDelta::FromMilliseconds(0); 37 const base::TimeDelta kZeroTtl = base::TimeDelta::FromMilliseconds(0);
41 const base::TimeDelta kLargeTtl = base::TimeDelta::FromSeconds(0x7331); 38 const base::TimeDelta kLargeTtl = base::TimeDelta::FromSeconds(0x7331);
42 39
43 directive_list_->AddTransmitDirective("token1", "op_id1", kZeroTtl); 40 directive_list_->AddTransmitDirective("token1", "op_id1", kZeroTtl);
44 directive_list_->AddTransmitDirective("token2", "op_id2", kLargeTtl); 41 directive_list_->AddTransmitDirective("token2", "op_id2", kLargeTtl);
45 directive_list_->AddTransmitDirective("token3", "op_id1", kZeroTtl); 42 directive_list_->AddTransmitDirective("token3", "op_id1", kZeroTtl);
46 43
47 EXPECT_EQ("token2", directive_list_->GetNextTransmit()->token); 44 EXPECT_EQ("token2", directive_list_->GetNextTransmit()->token);
48 45
49 directive_list_->AddReceiveDirective("op_id1", kZeroTtl); 46 directive_list_->AddReceiveDirective("op_id1", kZeroTtl);
50 directive_list_->AddReceiveDirective("op_id3", kZeroTtl); 47 directive_list_->AddReceiveDirective("op_id3", kZeroTtl);
51 directive_list_->AddReceiveDirective("op_id3", kLargeTtl); 48 directive_list_->AddReceiveDirective("op_id3", kLargeTtl);
52 directive_list_->AddReceiveDirective("op_id7", kZeroTtl); 49 directive_list_->AddReceiveDirective("op_id7", kZeroTtl);
53 50
54 EXPECT_EQ("op_id3", directive_list_->GetNextReceive()->op_id); 51 EXPECT_EQ("op_id3", directive_list_->GetNextReceive()->op_id);
55 } 52 }
56 53
57 // TODO(rkc): Find out why this is breaking on bots and fix it. 54 TEST_F(AudioDirectiveListTest, OutOfOrderAndMultiple) {
58 #define MAYBE_OutOfOrderAndMultiple DISABLED_OutOfOrderAndMultiple
59
60 TEST_F(AudioDirectiveListTest, MAYBE_OutOfOrderAndMultiple) {
61 const base::TimeDelta kZeroTtl = base::TimeDelta::FromMilliseconds(0); 55 const base::TimeDelta kZeroTtl = base::TimeDelta::FromMilliseconds(0);
62 const base::TimeDelta kLargeTtl = base::TimeDelta::FromSeconds(0x7331); 56 const base::TimeDelta kLargeTtl = base::TimeDelta::FromSeconds(0x7331);
63 57
64 EXPECT_EQ(NULL, directive_list_->GetNextTransmit().get()); 58 EXPECT_EQ(NULL, directive_list_->GetNextTransmit().get());
65 EXPECT_EQ(NULL, directive_list_->GetNextReceive().get()); 59 EXPECT_EQ(NULL, directive_list_->GetNextReceive().get());
66 60
67 directive_list_->AddTransmitDirective("token1", "op_id1", kZeroTtl); 61 directive_list_->AddTransmitDirective("token1", "op_id1", kZeroTtl);
68 directive_list_->AddTransmitDirective("token2", "op_id2", kLargeTtl); 62 directive_list_->AddTransmitDirective("token2", "op_id2", kLargeTtl);
69 directive_list_->AddTransmitDirective("token3", "op_id1", kLargeTtl); 63 directive_list_->AddTransmitDirective("token3", "op_id1", kLargeTtl);
70 64
71 // Should keep getting the directive till it expires or we add a newer one. 65 // Should keep getting the directive till it expires or we add a newer one.
72 EXPECT_EQ("token3", directive_list_->GetNextTransmit()->token); 66 EXPECT_EQ("token3", directive_list_->GetNextTransmit()->token);
73 EXPECT_EQ("token3", directive_list_->GetNextTransmit()->token); 67 EXPECT_EQ("token3", directive_list_->GetNextTransmit()->token);
74 EXPECT_EQ("token3", directive_list_->GetNextTransmit()->token); 68 EXPECT_EQ("token3", directive_list_->GetNextTransmit()->token);
75 EXPECT_EQ(NULL, directive_list_->GetNextReceive().get()); 69 EXPECT_EQ(NULL, directive_list_->GetNextReceive().get());
76 70
77 directive_list_->AddReceiveDirective("op_id1", kLargeTtl); 71 directive_list_->AddReceiveDirective("op_id1", kLargeTtl);
78 directive_list_->AddReceiveDirective("op_id3", kZeroTtl); 72 directive_list_->AddReceiveDirective("op_id3", kZeroTtl);
79 directive_list_->AddReceiveDirective("op_id3", kLargeTtl); 73 directive_list_->AddReceiveDirective("op_id3", kLargeTtl);
80 directive_list_->AddReceiveDirective("op_id7", kLargeTtl); 74 directive_list_->AddReceiveDirective("op_id7", kLargeTtl);
81 75
82 // Should keep getting the directive till it expires or we add a newer one. 76 // Should keep getting the directive till it expires or we add a newer one.
83 EXPECT_EQ("op_id7", directive_list_->GetNextReceive()->op_id); 77 EXPECT_EQ("op_id7", directive_list_->GetNextReceive()->op_id);
84 EXPECT_EQ("op_id7", directive_list_->GetNextReceive()->op_id); 78 EXPECT_EQ("op_id7", directive_list_->GetNextReceive()->op_id);
85 EXPECT_EQ("op_id7", directive_list_->GetNextReceive()->op_id); 79 EXPECT_EQ("op_id7", directive_list_->GetNextReceive()->op_id);
86 } 80 }
87 81
88 } // namespace copresence 82 } // namespace copresence
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698