New class FileRotatingStreamReader
When landed, the FileRotatingStream class can be made write-only.
Bug: webrtc:7811
Change-Id: I6dcd2a869301b9b8273b48d47df51a1065767ffd
Reviewed-on: https://webrtc-review.googlesource.com/c/115302
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26126}
diff --git a/rtc_base/filerotatingstream_unittest.cc b/rtc_base/filerotatingstream_unittest.cc
index bf52aa3..07a3e1a 100644
--- a/rtc_base/filerotatingstream_unittest.cc
+++ b/rtc_base/filerotatingstream_unittest.cc
@@ -80,6 +80,8 @@
const size_t expected_length,
const std::string& dir_path,
const char* file_prefix) {
+ // TODO(nisse): Delete the part of this method using read-mode
+ // FileRotatingStream, together with support for read-mode.
std::unique_ptr<FileRotatingStream> stream;
stream.reset(new FileRotatingStream(dir_path, file_prefix));
ASSERT_TRUE(stream->Open());
@@ -92,6 +94,13 @@
EXPECT_EQ(0, memcmp(expected_contents, buffer.get(), expected_length));
EXPECT_EQ(SR_EOS, stream->ReadAll(buffer.get(), 1, nullptr, nullptr));
EXPECT_EQ(stream_size, read);
+
+ // Test also with the FileRotatingStreamReader class.
+ FileRotatingStreamReader reader(dir_path, file_prefix);
+ EXPECT_EQ(reader.GetSize(), expected_length);
+ memset(buffer.get(), 0, expected_length);
+ EXPECT_EQ(expected_length, reader.ReadAll(buffer.get(), expected_length));
+ EXPECT_EQ(0, memcmp(expected_contents, buffer.get(), expected_length));
}
void VerifyFileContents(const char* expected_contents,
@@ -293,6 +302,8 @@
void VerifyStreamRead(const char* expected_contents,
const size_t expected_length,
const std::string& dir_path) {
+ // TODO(nisse): Delete the part of this method using read-mode
+ // CallSessionFileRotatingStream, together with support for read-mode.
std::unique_ptr<CallSessionFileRotatingStream> stream(
new CallSessionFileRotatingStream(dir_path));
ASSERT_TRUE(stream->Open());
@@ -305,6 +316,13 @@
EXPECT_EQ(0, memcmp(expected_contents, buffer.get(), expected_length));
EXPECT_EQ(SR_EOS, stream->ReadAll(buffer.get(), 1, nullptr, nullptr));
EXPECT_EQ(stream_size, read);
+
+ // Test also with the CallSessionFileRotatingStreamReader class.
+ CallSessionFileRotatingStreamReader reader(dir_path);
+ EXPECT_EQ(reader.GetSize(), expected_length);
+ memset(buffer.get(), 0, expected_length);
+ EXPECT_EQ(expected_length, reader.ReadAll(buffer.get(), expected_length));
+ EXPECT_EQ(0, memcmp(expected_contents, buffer.get(), expected_length));
}
std::unique_ptr<CallSessionFileRotatingStream> stream_;