Re-enable AudioCodingModuleMtTest again
Increase timeout and decrease test length. BUG=3426 R=kwiberg@webrtc.org Review URL: https://webrtc-codereview.appspot.com/15679006 git-svn-id: http://webrtc.googlecode.com/svn/trunk@6365 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
#include "webrtc/system_wrappers/interface/critical_section_wrapper.h"
|
#include "webrtc/system_wrappers/interface/critical_section_wrapper.h"
|
||||||
#include "webrtc/system_wrappers/interface/event_wrapper.h"
|
#include "webrtc/system_wrappers/interface/event_wrapper.h"
|
||||||
#include "webrtc/system_wrappers/interface/scoped_ptr.h"
|
#include "webrtc/system_wrappers/interface/scoped_ptr.h"
|
||||||
|
#include "webrtc/system_wrappers/interface/sleep.h"
|
||||||
#include "webrtc/system_wrappers/interface/thread_annotations.h"
|
#include "webrtc/system_wrappers/interface/thread_annotations.h"
|
||||||
#include "webrtc/system_wrappers/interface/thread_wrapper.h"
|
#include "webrtc/system_wrappers/interface/thread_wrapper.h"
|
||||||
#include "webrtc/test/testsupport/gtest_disable.h"
|
#include "webrtc/test/testsupport/gtest_disable.h"
|
||||||
@@ -113,6 +114,7 @@ class AudioCodingModuleTest : public ::testing::Test {
|
|||||||
rtp_utility_->Populate(&rtp_header_);
|
rtp_utility_->Populate(&rtp_header_);
|
||||||
|
|
||||||
input_frame_.sample_rate_hz_ = kSampleRateHz;
|
input_frame_.sample_rate_hz_ = kSampleRateHz;
|
||||||
|
input_frame_.num_channels_ = 1;
|
||||||
input_frame_.samples_per_channel_ = kSampleRateHz * 10 / 1000; // 10 ms.
|
input_frame_.samples_per_channel_ = kSampleRateHz * 10 / 1000; // 10 ms.
|
||||||
COMPILE_ASSERT(kSampleRateHz * 10 / 1000 <= AudioFrame::kMaxDataSizeSamples,
|
COMPILE_ASSERT(kSampleRateHz * 10 / 1000 <= AudioFrame::kMaxDataSizeSamples,
|
||||||
audio_frame_too_small);
|
audio_frame_too_small);
|
||||||
@@ -246,8 +248,8 @@ TEST_F(AudioCodingModuleTest, FailOnZeroDesiredFrequency) {
|
|||||||
|
|
||||||
class AudioCodingModuleMtTest : public AudioCodingModuleTest {
|
class AudioCodingModuleMtTest : public AudioCodingModuleTest {
|
||||||
protected:
|
protected:
|
||||||
static const int kNumPackets = 10000;
|
static const int kNumPackets = 500;
|
||||||
static const int kNumPullCalls = 10000;
|
static const int kNumPullCalls = 500;
|
||||||
|
|
||||||
AudioCodingModuleMtTest()
|
AudioCodingModuleMtTest()
|
||||||
: AudioCodingModuleTest(),
|
: AudioCodingModuleTest(),
|
||||||
@@ -270,11 +272,9 @@ class AudioCodingModuleMtTest : public AudioCodingModuleTest {
|
|||||||
crit_sect_(CriticalSectionWrapper::CreateCriticalSection()),
|
crit_sect_(CriticalSectionWrapper::CreateCriticalSection()),
|
||||||
next_insert_packet_time_ms_(0),
|
next_insert_packet_time_ms_(0),
|
||||||
fake_clock_(new SimulatedClock(0)) {
|
fake_clock_(new SimulatedClock(0)) {
|
||||||
clock_ = fake_clock_;
|
clock_ = fake_clock_.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
~AudioCodingModuleMtTest() {}
|
|
||||||
|
|
||||||
void SetUp() {
|
void SetUp() {
|
||||||
AudioCodingModuleTest::SetUp();
|
AudioCodingModuleTest::SetUp();
|
||||||
unsigned int thread_id = 0;
|
unsigned int thread_id = 0;
|
||||||
@@ -290,7 +290,9 @@ class AudioCodingModuleMtTest : public AudioCodingModuleTest {
|
|||||||
insert_packet_thread_->Stop();
|
insert_packet_thread_->Stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
EventTypeWrapper RunTest() { return test_complete_->Wait(60000); }
|
EventTypeWrapper RunTest() {
|
||||||
|
return test_complete_->Wait(10 * 60 * 1000); // 10 minutes' timeout.
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static bool CbSendThread(void* context) {
|
static bool CbSendThread(void* context) {
|
||||||
@@ -300,6 +302,11 @@ class AudioCodingModuleMtTest : public AudioCodingModuleTest {
|
|||||||
// The send thread doesn't have to care about the current simulated time,
|
// The send thread doesn't have to care about the current simulated time,
|
||||||
// since only the AcmReceiver is using the clock.
|
// since only the AcmReceiver is using the clock.
|
||||||
bool CbSendImpl() {
|
bool CbSendImpl() {
|
||||||
|
SleepMs(1);
|
||||||
|
if (HasFatalFailure()) {
|
||||||
|
// End the test early if a fatal failure (ASSERT_*) has occurred.
|
||||||
|
test_complete_->Set();
|
||||||
|
}
|
||||||
++send_count_;
|
++send_count_;
|
||||||
InsertAudio();
|
InsertAudio();
|
||||||
Encode();
|
Encode();
|
||||||
@@ -319,6 +326,7 @@ class AudioCodingModuleMtTest : public AudioCodingModuleTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool CbInsertPacketImpl() {
|
bool CbInsertPacketImpl() {
|
||||||
|
SleepMs(1);
|
||||||
{
|
{
|
||||||
CriticalSectionScoped lock(crit_sect_.get());
|
CriticalSectionScoped lock(crit_sect_.get());
|
||||||
if (clock_->TimeInMilliseconds() < next_insert_packet_time_ms_) {
|
if (clock_->TimeInMilliseconds() < next_insert_packet_time_ms_) {
|
||||||
@@ -338,6 +346,7 @@ class AudioCodingModuleMtTest : public AudioCodingModuleTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool CbPullAudioImpl() {
|
bool CbPullAudioImpl() {
|
||||||
|
SleepMs(1);
|
||||||
{
|
{
|
||||||
CriticalSectionScoped lock(crit_sect_.get());
|
CriticalSectionScoped lock(crit_sect_.get());
|
||||||
// Don't let the insert thread fall behind.
|
// Don't let the insert thread fall behind.
|
||||||
@@ -361,10 +370,10 @@ class AudioCodingModuleMtTest : public AudioCodingModuleTest {
|
|||||||
int pull_audio_count_ GUARDED_BY(crit_sect_);
|
int pull_audio_count_ GUARDED_BY(crit_sect_);
|
||||||
const scoped_ptr<CriticalSectionWrapper> crit_sect_;
|
const scoped_ptr<CriticalSectionWrapper> crit_sect_;
|
||||||
int64_t next_insert_packet_time_ms_ GUARDED_BY(crit_sect_);
|
int64_t next_insert_packet_time_ms_ GUARDED_BY(crit_sect_);
|
||||||
SimulatedClock* fake_clock_;
|
scoped_ptr<SimulatedClock> fake_clock_;
|
||||||
};
|
};
|
||||||
|
|
||||||
TEST_F(AudioCodingModuleMtTest, DISABLED_DoTest) {
|
TEST_F(AudioCodingModuleMtTest, DoTest) {
|
||||||
EXPECT_EQ(kEventSignaled, RunTest());
|
EXPECT_EQ(kEventSignaled, RunTest());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user