bmc: Simplify file handler
This greatly reduces the number of checks made against file operations
and fixes an issue with reading 0 length files.
Change-Id: I3d63ad0a3a49d6efbd047baadff3c0fe363b4174
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/bmc/firmware-handler/test/file_handler_unittest.cpp b/bmc/firmware-handler/test/file_handler_unittest.cpp
index b579830..fbe774b 100644
--- a/bmc/firmware-handler/test/file_handler_unittest.cpp
+++ b/bmc/firmware-handler/test/file_handler_unittest.cpp
@@ -27,15 +27,15 @@
FileHandler handler(TESTPATH);
EXPECT_TRUE(handler.open(""));
-
- /* Calling open twice fails the second time. */
- EXPECT_FALSE(handler.open(""));
+ EXPECT_TRUE(handler.open(""));
}
TEST_F(FileHandlerOpenTest, VerifyOpenForReadFailsWithNoFile)
{
FileHandler handler(TESTPATH);
+ EXPECT_EQ(handler.getSize(), 0);
EXPECT_FALSE(handler.open("", std::ios::in));
+ EXPECT_EQ(handler.getSize(), 0);
}
TEST_F(FileHandlerOpenTest, VerifyOpenForReadSucceedsWithFile)
@@ -80,8 +80,10 @@
testPattern.size());
testfile.close();
FileHandler handler(TESTPATH);
+ EXPECT_EQ(handler.getSize(), testPattern.size());
EXPECT_TRUE(handler.open("", std::ios::in));
auto result = handler.read(0, 10);
+ EXPECT_EQ(handler.getSize(), testPattern.size());
ASSERT_TRUE(result);
EXPECT_EQ(result->size(), 10);
EXPECT_EQ(*result, testPattern);