Fix memory leak in portallocatorsessionproxy_unittest.

Remove the suppressions that have been fixed.

BUG=1972,2263
R=mallinath@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2062005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4576 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
wu@webrtc.org 2013-08-20 21:14:39 +00:00
parent cbdb9d1c69
commit ebe68aad44
2 changed files with 17 additions and 83 deletions

View File

@ -59,7 +59,9 @@ class TestSessionChannel : public sigslot::has_slots<> {
proxy_session_->SignalPortReady.connect( proxy_session_->SignalPortReady.connect(
this, &TestSessionChannel::OnPortReady); this, &TestSessionChannel::OnPortReady);
} }
virtual ~TestSessionChannel() {} virtual ~TestSessionChannel() {
delete proxy_session_;
}
void OnCandidatesReady(PortAllocatorSession* session, void OnCandidatesReady(PortAllocatorSession* session,
const std::vector<Candidate>& candidates) { const std::vector<Candidate>& candidates) {
EXPECT_EQ(proxy_session_, session); EXPECT_EQ(proxy_session_, session);
@ -102,10 +104,11 @@ class PortAllocatorSessionProxyTest : public testing::Test {
PortAllocatorSessionProxyTest() PortAllocatorSessionProxyTest()
: socket_factory_(talk_base::Thread::Current()), : socket_factory_(talk_base::Thread::Current()),
allocator_(talk_base::Thread::Current(), NULL), allocator_(talk_base::Thread::Current(), NULL),
session_(talk_base::Thread::Current(), &socket_factory_, session_(new cricket::FakePortAllocatorSession(
"test content", 1, talk_base::Thread::Current(), &socket_factory_,
kIceUfrag0, kIcePwd0), "test content", 1,
session_muxer_(new PortAllocatorSessionMuxer(&session_)) { kIceUfrag0, kIcePwd0)),
session_muxer_(new PortAllocatorSessionMuxer(session_)) {
} }
virtual ~PortAllocatorSessionProxyTest() {} virtual ~PortAllocatorSessionProxyTest() {}
void RegisterSessionProxy(PortAllocatorSessionProxy* proxy) { void RegisterSessionProxy(PortAllocatorSessionProxy* proxy) {
@ -124,7 +127,7 @@ class PortAllocatorSessionProxyTest : public testing::Test {
protected: protected:
talk_base::BasicPacketSocketFactory socket_factory_; talk_base::BasicPacketSocketFactory socket_factory_;
cricket::FakePortAllocator allocator_; cricket::FakePortAllocator allocator_;
cricket::FakePortAllocatorSession session_; cricket::FakePortAllocatorSession* session_;
// Muxer object will be delete itself after all registered session proxies // Muxer object will be delete itself after all registered session proxies
// are deleted. // are deleted.
PortAllocatorSessionMuxer* session_muxer_; PortAllocatorSessionMuxer* session_muxer_;
@ -143,7 +146,7 @@ TEST_F(PortAllocatorSessionProxyTest, TestLateBinding) {
EXPECT_EQ_WAIT(1, channel1->candidates_count(), 1000); EXPECT_EQ_WAIT(1, channel1->candidates_count(), 1000);
EXPECT_EQ(1, channel1->ports_count()); EXPECT_EQ(1, channel1->ports_count());
EXPECT_TRUE(channel1->allocation_complete()); EXPECT_TRUE(channel1->allocation_complete());
EXPECT_EQ(1, session_.port_config_count()); EXPECT_EQ(1, session_->port_config_count());
// Creating another PortAllocatorSessionProxy and it also should receive // Creating another PortAllocatorSessionProxy and it also should receive
// already happened events. // already happened events.
PortAllocatorSessionProxy* proxy = PortAllocatorSessionProxy* proxy =
@ -154,7 +157,7 @@ TEST_F(PortAllocatorSessionProxyTest, TestLateBinding) {
EXPECT_EQ_WAIT(1, channel2->candidates_count(), 1000); EXPECT_EQ_WAIT(1, channel2->candidates_count(), 1000);
EXPECT_EQ(1, channel2->ports_count()); EXPECT_EQ(1, channel2->ports_count());
EXPECT_TRUE_WAIT(channel2->allocation_complete(), 1000); EXPECT_TRUE_WAIT(channel2->allocation_complete(), 1000);
EXPECT_EQ(1, session_.port_config_count()); EXPECT_EQ(1, session_->port_config_count());
delete channel1; delete channel1;
delete channel2; delete channel2;
} }

View File

@ -369,80 +369,6 @@
#----------------------------------------------------------------------- #-----------------------------------------------------------------------
# 2. libjingle stuff (talk folder) # 2. libjingle stuff (talk folder)
{
bug_1972_30
Memcheck:Uninitialized
fun:dtls1_process_record
fun:dtls1_get_record
fun:dtls1_read_bytes
fun:ssl3_read_internal
...
}
{
bug_1972_40
Memcheck:Leak
fun:_Znw*
fun:_ZN50PortAllocatorSessionProxyTest_TestLateBinding_Test8TestBodyEv
}
{
bug_1972_45
Memcheck:Uninitialized
fun:_ZN14DtlsTestClient12VerifyPacketEPKcmPj
...
}
{
bug_1972_50
Memcheck:Leak
fun:_Znw*
fun:_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeIPN7sigslot22_signal_base_interfaceEEE8allocateEmPKv
fun:_ZNSt8_Rb_treeIPN7sigslot22_signal_base_interfaceES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE11_M_get_nodeEv
...
}
{
bug_1972_56
Memcheck:Leak
fun:_Znw*
fun:_ZN9__gnu_cxx13new_allocatorIPN7cricket25PortAllocatorSessionProxyEE8allocateEmPKv
...
}
{
bug_1972_57
Memcheck:Leak
fun:_Znw*
fun:_ZN7sigslot7signal1IPN7cricket20PortAllocatorSessionENS_15single_threadedEE7connectINS1_25PortAllocatorSessionMuxerEEEvPT_MS8_FvS3_E
...
}
{
bug_1972_59
Memcheck:Leak
fun:_Znw*
fun:_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIPN7sigslot17_connection_base1IPN7cricket20PortAllocatorSessionENS2_15single_threadedEEEEE8allocateEmPKv
fun:_ZNSt10_List_baseIPN7sigslot17_connection_base1IPN7cricket20PortAllocatorSessionENS0_15single_threadedEEESaIS7_EE11_M_get_nodeEv
...
}
{
bug_1972_60
Memcheck:Leak
fun:_Znw*
fun:_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPN7cricket13PortInterfaceEPNS3_9PortProxyEEEE8allocateEmPKv
fun:_ZNSt8_Rb_treeIPN7cricket13PortInterfaceESt4pairIKS2_PNS0_9PortProxyEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE11_M_get_nodeEv
...
}
{
bug_1972_62
Memcheck:Leak
fun:_Znw*
fun:_ZN29PortAllocatorSessionProxyTestC1Ev
...
}
{
bug_1972_63
Memcheck:Leak
fun:_Znw*
fun:_ZN29PortAllocatorSessionProxyTest13CreateChannelEv
...
}
{ {
bug_2056_1 bug_2056_1
Memcheck:Leak Memcheck:Leak
@ -616,4 +542,9 @@
fun:_ZN6webrtc20AudioDeviceLinuxALSA14InitMicrophoneEv fun:_ZN6webrtc20AudioDeviceLinuxALSA14InitMicrophoneEv
... ...
} }
{
bug_2263_1
Memcheck:Uninitialized
fun:_ZN14DtlsTestClient12VerifyPacketEPKcmPj
...
}