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);