update_engine: Detect supported minor version from conf file.

If the delta minor version is not given as a command line argument, the
payload generator will look for the minor version in
etc/update_engine.conf in the old image.

BUG=chromium:455493
TEST=`FEATURES=test emerge-link update_engine`
CQ-DEPEND=CL:249956

Change-Id: I0f8e3f3c05432169770f2e8e283e8f1fb363def3
Reviewed-on: https://chromium-review.googlesource.com/249955
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Allie Wood <alliewood@chromium.org>
Tested-by: Allie Wood <alliewood@chromium.org>
diff --git a/delta_performer_unittest.cc b/delta_performer_unittest.cc
index b32ffc9..4e39c0c 100644
--- a/delta_performer_unittest.cc
+++ b/delta_performer_unittest.cc
@@ -11,6 +11,7 @@
 #include <string>
 #include <vector>
 
+#include <base/files/file_path.h>
 #include <base/files/file_util.h>
 #include <base/strings/string_util.h>
 #include <base/strings/stringprintf.h>
@@ -1339,4 +1340,13 @@
   EXPECT_TRUE(test_utils::RecursiveUnlinkDir(temp_dir));
 }
 
+TEST(DeltaPerformerTest, MinorVersionsMatch) {
+  // Test that the minor version in update_engine.conf that is installed to
+  // the image matches the supported delta minor version in the update engine.
+  uint32_t minor_version;
+  base::FilePath conf_path("update_engine.conf");
+  EXPECT_TRUE(utils::GetMinorVersion(conf_path, &minor_version));
+  ASSERT_EQ(DeltaPerformer::kSupportedMinorPayloadVersion, minor_version);
+}
+
 }  // namespace chromeos_update_engine