Fixed test memory leak + disabled base test.
BUG= Review URL: https://webrtc-codereview.appspot.com/937019 git-svn-id: http://webrtc.googlecode.com/svn/trunk@3094 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
56a0076d66
commit
12b828ac90
@ -31,11 +31,8 @@ class ViEVideoVerificationTest : public testing::Test {
|
|||||||
protected:
|
protected:
|
||||||
void SetUp() {
|
void SetUp() {
|
||||||
input_file_ = webrtc::test::ResourcePath("paris_qcif", "yuv");
|
input_file_ = webrtc::test::ResourcePath("paris_qcif", "yuv");
|
||||||
}
|
local_file_renderer_ = NULL;
|
||||||
|
remote_file_renderer_ = NULL;
|
||||||
void TearDown() {
|
|
||||||
TearDownFileRenderer(local_file_renderer_);
|
|
||||||
TearDownFileRenderer(remote_file_renderer_);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void InitializeFileRenderers() {
|
void InitializeFileRenderers() {
|
||||||
@ -59,20 +56,6 @@ class ViEVideoVerificationTest : public testing::Test {
|
|||||||
remote_file_renderer_->StopRendering();
|
remote_file_renderer_->StopRendering();
|
||||||
}
|
}
|
||||||
|
|
||||||
void TearDownFileRenderer(ViEToFileRenderer* file_renderer) {
|
|
||||||
assert(file_renderer);
|
|
||||||
bool test_failed = ::testing::UnitTest::GetInstance()->
|
|
||||||
current_test_info()->result()->Failed();
|
|
||||||
if (test_failed) {
|
|
||||||
// Leave the files for analysis if the test failed.
|
|
||||||
file_renderer->SaveOutputFile("failed-");
|
|
||||||
} else {
|
|
||||||
// No reason to keep the files if we succeeded.
|
|
||||||
file_renderer->DeleteOutputFile();
|
|
||||||
}
|
|
||||||
delete file_renderer;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CompareFiles(const std::string& reference_file,
|
void CompareFiles(const std::string& reference_file,
|
||||||
const std::string& test_file,
|
const std::string& test_file,
|
||||||
double* psnr_result, double *ssim_result) {
|
double* psnr_result, double *ssim_result) {
|
||||||
@ -93,6 +76,12 @@ class ViEVideoVerificationTest : public testing::Test {
|
|||||||
psnr.average, ssim.average);
|
psnr.average, ssim.average);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Note: must call AFTER CompareFiles.
|
||||||
|
void TearDownFileRenderers() {
|
||||||
|
TearDownFileRenderer(local_file_renderer_);
|
||||||
|
TearDownFileRenderer(remote_file_renderer_);
|
||||||
|
}
|
||||||
|
|
||||||
std::string input_file_;
|
std::string input_file_;
|
||||||
ViEToFileRenderer* local_file_renderer_;
|
ViEToFileRenderer* local_file_renderer_;
|
||||||
ViEToFileRenderer* remote_file_renderer_;
|
ViEToFileRenderer* remote_file_renderer_;
|
||||||
@ -112,9 +101,26 @@ class ViEVideoVerificationTest : public testing::Test {
|
|||||||
" for writing.";
|
" for writing.";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TearDownFileRenderer(ViEToFileRenderer* file_renderer) {
|
||||||
|
assert(file_renderer);
|
||||||
|
bool test_failed = ::testing::UnitTest::GetInstance()->
|
||||||
|
current_test_info()->result()->Failed();
|
||||||
|
if (test_failed) {
|
||||||
|
// Leave the files for analysis if the test failed.
|
||||||
|
file_renderer->SaveOutputFile("failed-");
|
||||||
|
} else {
|
||||||
|
// No reason to keep the files if we succeeded.
|
||||||
|
file_renderer->DeleteOutputFile();
|
||||||
|
}
|
||||||
|
delete file_renderer;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
TEST_F(ViEVideoVerificationTest, RunsBaseStandardTestWithoutErrors) {
|
// TODO(phoglund): Needs to be rewritten to use external transport. Currently
|
||||||
|
// the new memory-safe decoder is too slow with I420 with the default packet
|
||||||
|
// engine. See http://code.google.com/p/webrtc/issues/detail?id=1103.
|
||||||
|
TEST_F(ViEVideoVerificationTest, DISABLED_RunsBaseStandardTestWithoutErrors) {
|
||||||
// The I420 test should give pretty good values since it's a lossless codec
|
// The I420 test should give pretty good values since it's a lossless codec
|
||||||
// running on the default bitrate. It should average about 30 dB but there
|
// running on the default bitrate. It should average about 30 dB but there
|
||||||
// may be cases where it dips as low as 26 under adverse conditions. That's
|
// may be cases where it dips as low as 26 under adverse conditions. That's
|
||||||
@ -134,6 +140,8 @@ TEST_F(ViEVideoVerificationTest, RunsBaseStandardTestWithoutErrors) {
|
|||||||
double actual_ssim = 0;
|
double actual_ssim = 0;
|
||||||
CompareFiles(input_file_, output_file, &actual_psnr, &actual_ssim);
|
CompareFiles(input_file_, output_file, &actual_psnr, &actual_ssim);
|
||||||
|
|
||||||
|
TearDownFileRenderers();
|
||||||
|
|
||||||
if (actual_psnr >= kExpectedMinimumPSNR &&
|
if (actual_psnr >= kExpectedMinimumPSNR &&
|
||||||
actual_ssim >= kExpectedMinimumSSIM) {
|
actual_ssim >= kExpectedMinimumSSIM) {
|
||||||
// Test succeeded!
|
// Test succeeded!
|
||||||
@ -171,6 +179,8 @@ TEST_F(ViEVideoVerificationTest, RunsCodecTestWithoutErrors) {
|
|||||||
double actual_ssim = 0;
|
double actual_ssim = 0;
|
||||||
CompareFiles(reference_file, output_file, &actual_psnr, &actual_ssim);
|
CompareFiles(reference_file, output_file, &actual_psnr, &actual_ssim);
|
||||||
|
|
||||||
|
TearDownFileRenderers();
|
||||||
|
|
||||||
if (actual_psnr >= kExpectedMinimumPSNR &&
|
if (actual_psnr >= kExpectedMinimumPSNR &&
|
||||||
actual_ssim >= kExpectedMinimumSSIM) {
|
actual_ssim >= kExpectedMinimumSSIM) {
|
||||||
// Test succeeded!
|
// Test succeeded!
|
||||||
@ -244,6 +254,8 @@ TEST_F(ViEVideoVerificationTest, DISABLED_RunsFullStackWithoutErrors) {
|
|||||||
double actual_ssim = 0;
|
double actual_ssim = 0;
|
||||||
CompareFiles(reference_file, output_file, &actual_psnr, &actual_ssim);
|
CompareFiles(reference_file, output_file, &actual_psnr, &actual_ssim);
|
||||||
|
|
||||||
|
TearDownFileRenderers();
|
||||||
|
|
||||||
const double kExpectedMinimumPSNR = 24;
|
const double kExpectedMinimumPSNR = 24;
|
||||||
const double kExpectedMinimumSSIM = 0.7;
|
const double kExpectedMinimumSSIM = 0.7;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user