From f02ad19b216c9287efd47e4b5cf8dbc402cc04a1 Mon Sep 17 00:00:00 2001 From: "enal@chromium.org" Date: Tue, 1 May 2012 19:20:34 +0000 Subject: Fix test -- we should initialize the buffer, otherwise valgrind/DrMemory reports read from uninitialized memory. Mixer reads data from there, even though test does not use mixed output. BUG=125723 Review URL: http://codereview.chromium.org/10268026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134749 0039d316-1c4b-4281-b951-d872f2087c98 --- media/audio/audio_output_proxy_unittest.cc | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'media') diff --git a/media/audio/audio_output_proxy_unittest.cc b/media/audio/audio_output_proxy_unittest.cc index 7f85acc..2838b8f 100644 --- a/media/audio/audio_output_proxy_unittest.cc +++ b/media/audio/audio_output_proxy_unittest.cc @@ -16,9 +16,12 @@ using ::testing::_; using ::testing::AllOf; +using ::testing::DoAll; using ::testing::Field; using ::testing::Mock; +using ::testing::NotNull; using ::testing::Return; +using ::testing::SetArrayArgument; using media::AudioBuffersState; using media::AudioInputStream; using media::AudioManager; @@ -462,25 +465,29 @@ TEST_F(AudioOutputProxyTest, TwoStreams_BothPlaying_Mixer) { EXPECT_TRUE(proxy2->Open()); proxy1->Start(&callback_); + uint8 zeroes[4] = {0, 0, 0, 0}; uint8 buf1[4] = {0}; EXPECT_CALL(callback_, - OnMoreData(_, 4, + OnMoreData(NotNull(), 4, AllOf(Field(&AudioBuffersState::pending_bytes, 0), Field(&AudioBuffersState::hardware_delay_bytes, 0)))) - .WillOnce(Return(4)); + .WillOnce(DoAll(SetArrayArgument<0>(zeroes, zeroes + sizeof(zeroes)), + Return(4))); mixer_->OnMoreData(buf1, sizeof(buf1), AudioBuffersState(0, 0)); proxy2->Start(&callback_); uint8 buf2[4] = {0}; EXPECT_CALL(callback_, - OnMoreData(_, 4, + OnMoreData(NotNull(), 4, AllOf(Field(&AudioBuffersState::pending_bytes, 4), Field(&AudioBuffersState::hardware_delay_bytes, 0)))) - .WillOnce(Return(4)); + .WillOnce(DoAll(SetArrayArgument<0>(zeroes, zeroes + sizeof(zeroes)), + Return(4))); EXPECT_CALL(callback_, - OnMoreData(_, 4, + OnMoreData(NotNull(), 4, AllOf(Field(&AudioBuffersState::pending_bytes, 0), Field(&AudioBuffersState::hardware_delay_bytes, 0)))) - .WillOnce(Return(4)); + .WillOnce(DoAll(SetArrayArgument<0>(zeroes, zeroes + sizeof(zeroes)), + Return(4))); mixer_->OnMoreData(buf2, sizeof(buf2), AudioBuffersState(4, 0)); proxy1->Stop(); proxy2->Stop(); -- cgit v1.1