Add EC and Firmware Versions to the Omaha Response.

This CL adds 2 additional utils methods to get the version for both the
fw and ec versions. I've added a unittest to verify these work and piped
in the values into the omaha response.

BUG=chromium:219871
TEST=Unittests + on device

Change-Id: Iadf70fff858988f52797d94bcdb062bb2482bbf3
Reviewed-on: https://gerrit.chromium.org/gerrit/49713
Commit-Queue: Chris Sosa <sosa@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
Tested-by: Chris Sosa <sosa@chromium.org>
diff --git a/utils_unittest.cc b/utils_unittest.cc
index 3d2feaa..4d9dea4 100644
--- a/utils_unittest.cc
+++ b/utils_unittest.cc
@@ -37,6 +37,21 @@
   EXPECT_TRUE(utils::IsNormalBootMode());
 }
 
+TEST(UtilsTest, CanParseECVersion) {
+  // Chroot won't have an ec version.
+  EXPECT_EQ("", utils::GetECVersion(NULL));
+
+  // Should be able to parse and valid key value line.
+  EXPECT_EQ("12345", utils::GetECVersion("fw_version=12345"));
+  EXPECT_EQ("123456", utils::GetECVersion("b=1231a fw_version=123456 a=fasd2"));
+  EXPECT_EQ("12345", utils::GetECVersion("fw_version=12345"));
+  EXPECT_EQ("00VFA616", utils::GetECVersion(
+      "vendor=\"sam\" fw_version=\"00VFA616\""));
+
+  // For invalid entries, should return the empty string.
+  EXPECT_EQ("", utils::GetECVersion("b=1231a fw_version a=fasd2"));
+}
+
 TEST(UtilsTest, NormalizePathTest) {
   EXPECT_EQ("", utils::NormalizePath("", false));
   EXPECT_EQ("", utils::NormalizePath("", true));