config_parser: Reduce number of file reads

This changes focuses on reducing the number of Parser() constructions to
limit the number of duplicate file reads.

Change-Id: I05df943844c70dc6aa729ab744d2d405cbfe2c76
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/test/test_config_parser.cpp b/test/test_config_parser.cpp
index cd2fa4f..896d61e 100644
--- a/test/test_config_parser.cpp
+++ b/test/test_config_parser.cpp
@@ -69,18 +69,21 @@
 
 TEST_F(TestConfigParser, EmptyObject)
 {
+    EXPECT_TRUE(parser.getFilename().empty());
     EXPECT_EQ(0, parser.getWarnings().size());
 }
 
 TEST_F(TestConfigParser, ReadDirectory)
 {
     parser.setFile("/");
+    EXPECT_EQ("/", parser.getFilename());
     EXPECT_EQ(1, parser.getWarnings().size());
 }
 
 TEST_F(TestConfigParser, ReadConfigDataMissingFile)
 {
     parser.setFile("/no-such-path");
+    EXPECT_EQ("/no-such-path", parser.getFilename());
     EXPECT_EQ(1, parser.getWarnings().size());
 }
 
@@ -88,6 +91,7 @@
 {
     WriteSampleFile();
     parser.setFile(filename);
+    EXPECT_EQ(filename, parser.getFilename());
     EXPECT_EQ(4, parser.getWarnings().size());
 
     EXPECT_THAT(parser.getValues("Match", "Name"), ElementsAre("eth0"));