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

Unified Diff: webrtc/test/testsupport/y4m_frame_writer_unittest.cc

Issue 2700493006: Add optional visualization file writers to VideoProcessor tests. (Closed)
Patch Set: kjellander comments 2. Created 3 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
« no previous file with comments | « webrtc/test/testsupport/y4m_frame_writer.cc ('k') | webrtc/test/testsupport/yuv_frame_reader.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/test/testsupport/y4m_frame_writer_unittest.cc
diff --git a/webrtc/test/testsupport/frame_writer_unittest.cc b/webrtc/test/testsupport/y4m_frame_writer_unittest.cc
similarity index 36%
copy from webrtc/test/testsupport/frame_writer_unittest.cc
copy to webrtc/test/testsupport/y4m_frame_writer_unittest.cc
index 59173bdfaae03f69171b801efd8c399d020b9dfa..a4e417228faed990f75e2290410167473d613255 100644
--- a/webrtc/test/testsupport/frame_writer_unittest.cc
+++ b/webrtc/test/testsupport/y4m_frame_writer_unittest.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
@@ -8,55 +8,69 @@
* be found in the AUTHORS file in the root of the source tree.
*/
-#include "webrtc/test/testsupport/frame_writer.h"
+#include <memory>
+#include <string>
#include "webrtc/test/gtest.h"
#include "webrtc/test/testsupport/fileutils.h"
+#include "webrtc/test/testsupport/frame_writer.h"
namespace webrtc {
namespace test {
-const size_t kFrameLength = 1000;
+namespace {
+const size_t kFrameWidth = 50;
+const size_t kFrameHeight = 20;
+const size_t kFrameLength = 3 * kFrameWidth * kFrameHeight / 2; // I420.
+const size_t kFrameRate = 30;
+
+const std::string kFileHeader = "YUV4MPEG2 W50 H20 F30:1 C420\n";
+const std::string kFrameHeader = "FRAME\n";
+} // namespace
-class FrameWriterTest: public testing::Test {
+class Y4mFrameWriterTest : public testing::Test {
protected:
- FrameWriterTest() {}
- virtual ~FrameWriterTest() {}
- void SetUp() {
+ Y4mFrameWriterTest() = default;
+ ~Y4mFrameWriterTest() override = default;
+
+ void SetUp() override {
temp_filename_ = webrtc::test::TempFilename(webrtc::test::OutputPath(),
- "frame_writer_unittest");
- frame_writer_ = new FrameWriterImpl(temp_filename_, kFrameLength);
+ "y4m_frame_writer_unittest");
+ frame_writer_.reset(new Y4mFrameWriterImpl(temp_filename_, kFrameWidth,
+ kFrameHeight, kFrameRate));
ASSERT_TRUE(frame_writer_->Init());
}
- void TearDown() {
- delete frame_writer_;
- // Cleanup the temporary file.
- remove(temp_filename_.c_str());
- }
- FrameWriter* frame_writer_;
+
+ void TearDown() override { remove(temp_filename_.c_str()); }
+
+ std::unique_ptr<FrameWriter> frame_writer_;
std::string temp_filename_;
};
-TEST_F(FrameWriterTest, InitSuccess) {
- FrameWriterImpl frame_writer(temp_filename_, kFrameLength);
- ASSERT_TRUE(frame_writer.Init());
- ASSERT_EQ(kFrameLength, frame_writer.FrameLength());
+TEST_F(Y4mFrameWriterTest, InitSuccess) {}
+
+TEST_F(Y4mFrameWriterTest, FrameLength) {
+ EXPECT_EQ(kFrameLength, frame_writer_->FrameLength());
}
-TEST_F(FrameWriterTest, WriteFrame) {
+TEST_F(Y4mFrameWriterTest, WriteFrame) {
uint8_t buffer[kFrameLength];
- memset(buffer, 9, kFrameLength); // Write lots of 9s to the buffer
+ memset(buffer, 9, kFrameLength); // Write lots of 9s to the buffer.
bool result = frame_writer_->WriteFrame(buffer);
- ASSERT_TRUE(result); // success
- // Close the file and verify the size.
+ ASSERT_TRUE(result);
+ result = frame_writer_->WriteFrame(buffer);
+ ASSERT_TRUE(result);
+
frame_writer_->Close();
- ASSERT_EQ(kFrameLength, GetFileSize(temp_filename_));
+ EXPECT_EQ(kFileHeader.size() + 2 * kFrameHeader.size() + 2 * kFrameLength,
+ GetFileSize(temp_filename_));
}
-TEST_F(FrameWriterTest, WriteFrameUninitialized) {
- uint8_t buffer[3];
- FrameWriterImpl frame_writer(temp_filename_, kFrameLength);
- ASSERT_FALSE(frame_writer.WriteFrame(buffer));
+TEST_F(Y4mFrameWriterTest, WriteFrameUninitialized) {
+ uint8_t buffer[kFrameLength];
+ Y4mFrameWriterImpl frame_writer(temp_filename_, kFrameWidth, kFrameHeight,
+ kFrameRate);
+ EXPECT_FALSE(frame_writer.WriteFrame(buffer));
}
} // namespace test
« no previous file with comments | « webrtc/test/testsupport/y4m_frame_writer.cc ('k') | webrtc/test/testsupport/yuv_frame_reader.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698