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

Unified Diff: media/audio/linux/alsa_output_unittest.cc

Issue 9570014: Move some generic functions to AudioManagerBase to be inherited by platform-specific AudioManager*** (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix the memory leak in the alsa unittests Created 8 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: media/audio/linux/alsa_output_unittest.cc
diff --git a/media/audio/linux/alsa_output_unittest.cc b/media/audio/linux/alsa_output_unittest.cc
index bcf2e3dd0486d811c3113edb98314a847a8ac067..dd2ad847a3effcbbcc5fef3e4aafe7689db21ac7 100644
--- a/media/audio/linux/alsa_output_unittest.cc
+++ b/media/audio/linux/alsa_output_unittest.cc
@@ -78,13 +78,24 @@ class MockAudioManagerLinux : public AudioManagerLinux {
MOCK_METHOD0(Init, void());
MOCK_METHOD0(HasAudioOutputDevices, bool());
MOCK_METHOD0(HasAudioInputDevices, bool());
- MOCK_METHOD1(MakeAudioOutputStream, AudioOutputStream*(
- const AudioParameters& params));
- MOCK_METHOD2(MakeAudioInputStream, AudioInputStream*(
- const AudioParameters& params, const std::string& device_id));
MOCK_METHOD0(MuteAll, void());
MOCK_METHOD0(UnMuteAll, void());
- MOCK_METHOD1(ReleaseOutputStream, void(AudioOutputStream* stream));
+ MOCK_METHOD0(GetMaxAudioOutputStreamsAllowed, int());
+ MOCK_METHOD1(MakeAudioLinearOutputStream, AudioOutputStream*(
+ const AudioParameters& params));
+ MOCK_METHOD1(MakeAudioLowLatencyOutputStream, AudioOutputStream*(
+ const AudioParameters& params));
+ MOCK_METHOD2(MakeAudioLinearOutputStream, AudioInputStream*(
+ const AudioParameters& params, const std::string& device_id));
+ MOCK_METHOD2(MakeAudioLowLatencyInputStream, AudioInputStream*(
+ const AudioParameters& params, const std::string& device_id));
+
+ // We need to override this function because we want to skip the checking
+ // the number of active streams.
tommi (sloooow) - chröme 2012/03/05 14:28:28 nit: maybe a note on why we want to skip checking
+ virtual void ReleaseOutputStream(AudioOutputStream* stream) OVERRIDE {
+ DCHECK(stream);
+ delete stream;
+ }
// We don't mock this method since all tests will do the same thing
// and use the current message loop.
@@ -101,6 +112,7 @@ class AlsaPcmOutputStreamTest : public testing::Test {
}
virtual ~AlsaPcmOutputStreamTest() {
+ test_stream_->Close();
test_stream_.reset(NULL);
}
@@ -263,7 +275,6 @@ TEST_F(AlsaPcmOutputStreamTest, LatencyFloor) {
EXPECT_CALL(mock_alsa_wrapper_, PcmClose(kFakeHandle)).WillOnce(Return(0));
EXPECT_CALL(mock_alsa_wrapper_, PcmName(kFakeHandle))
.WillOnce(Return(kTestDeviceName));
- EXPECT_CALL(mock_manager(), ReleaseOutputStream(test_stream_.get()));
test_stream_->Close();
Mock::VerifyAndClear(&mock_alsa_wrapper_);
@@ -293,7 +304,6 @@ TEST_F(AlsaPcmOutputStreamTest, LatencyFloor) {
.WillOnce(Return(0));
EXPECT_CALL(mock_alsa_wrapper_, PcmName(kFakeHandle))
.WillOnce(Return(kTestDeviceName));
- EXPECT_CALL(mock_manager(), ReleaseOutputStream(test_stream_.get()));
test_stream_->Close();
Mock::VerifyAndClear(&mock_alsa_wrapper_);
@@ -341,12 +351,7 @@ TEST_F(AlsaPcmOutputStreamTest, OpenClose) {
.WillOnce(Return(0));
EXPECT_CALL(mock_alsa_wrapper_, PcmName(kFakeHandle))
.WillOnce(Return(kTestDeviceName));
- EXPECT_CALL(mock_manager(), ReleaseOutputStream(test_stream_.get()));
test_stream_->Close();
-
- EXPECT_TRUE(test_stream_->playback_handle_ == NULL);
- EXPECT_FALSE(test_stream_->buffer_.get());
- EXPECT_TRUE(test_stream_->stop_stream_);
}
TEST_F(AlsaPcmOutputStreamTest, PcmOpenFailed) {
@@ -364,7 +369,6 @@ TEST_F(AlsaPcmOutputStreamTest, PcmOpenFailed) {
EXPECT_FALSE(test_stream_->buffer_.get());
// Close the stream since we opened it to make destruction happy.
- EXPECT_CALL(mock_manager(), ReleaseOutputStream(test_stream_.get()));
test_stream_->Close();
}
@@ -392,7 +396,6 @@ TEST_F(AlsaPcmOutputStreamTest, PcmSetParamsFailed) {
EXPECT_FALSE(test_stream_->buffer_.get());
// Close the stream since we opened it to make destruction happy.
- EXPECT_CALL(mock_manager(), ReleaseOutputStream(test_stream_.get()));
test_stream_->Close();
}
@@ -447,7 +450,6 @@ TEST_F(AlsaPcmOutputStreamTest, StartStop) {
test_stream_->Start(&mock_callback);
message_loop_.RunAllPending();
- EXPECT_CALL(mock_manager(), ReleaseOutputStream(test_stream_.get()));
EXPECT_CALL(mock_alsa_wrapper_, PcmClose(kFakeHandle))
.WillOnce(Return(0));
EXPECT_CALL(mock_alsa_wrapper_, PcmName(kFakeHandle))

Powered by Google App Engine
This is Rietveld 408576698