AU: Don't allow deltas if the rootfs track is different than the request track.

Currently such deltas are destined to fail because the rootfs hash will be
different than the expected hash.

BUG=9160
TEST=unit tests, tested on device

Change-Id: I588fcedb4a0ae16aca7197f771afab077d78fe05

Review URL: http://codereview.chromium.org/4988002
diff --git a/omaha_request_params_unittest.cc b/omaha_request_params_unittest.cc
index 77d01d2..fdbf96e 100644
--- a/omaha_request_params_unittest.cc
+++ b/omaha_request_params_unittest.cc
@@ -274,11 +274,37 @@
   EXPECT_EQ("0.2.2.3", out.app_version);
   EXPECT_EQ("en-US", out.app_lang);
   EXPECT_EQ("", out.hardware_class);
-  EXPECT_TRUE(out.delta_okay);
+  EXPECT_FALSE(out.delta_okay);
   EXPECT_EQ("bartrack", out.app_track);
   EXPECT_EQ("http://www.google.com", out.update_url);
 }
 
+TEST_F(OmahaRequestDeviceParamsTest, OverrideSameTrackTest) {
+  ASSERT_TRUE(WriteFileString(
+      kTestDir + "/etc/lsb-release",
+      "CHROMEOS_RELEASE_BOARD=arm-generic\n"
+      "CHROMEOS_RELEASE_FOO=bar\n"
+      "CHROMEOS_RELEASE_VERSION=0.2.2.3\n"
+      "CHROMEOS_RELEASE_TRACK=footrack\n"
+      "CHROMEOS_AUSERVER=http://www.google.com"));
+  ASSERT_TRUE(WriteFileString(
+      kTestDir + utils::kStatefulPartition + "/etc/lsb-release",
+      "CHROMEOS_RELEASE_BOARD=x86-generic\n"
+      "CHROMEOS_RELEASE_TRACK=footrack"));
+  OmahaRequestParams out;
+  EXPECT_TRUE(DoTest(&out, "", ""));
+  EXPECT_EQ("Chrome OS", out.os_platform);
+  EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp);
+  EXPECT_EQ("x86-generic", out.os_board);
+  EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id);
+  EXPECT_EQ("0.2.2.3", out.app_version);
+  EXPECT_EQ("en-US", out.app_lang);
+  EXPECT_EQ("", out.hardware_class);
+  EXPECT_TRUE(out.delta_okay);
+  EXPECT_EQ("footrack", out.app_track);
+  EXPECT_EQ("http://www.google.com", out.update_url);
+}
+
 TEST_F(OmahaRequestDeviceParamsTest, SetTrackSimpleTest) {
   ASSERT_TRUE(WriteFileString(
       kTestDir + "/etc/lsb-release",