cros_generate_os_release: fill several generic os-release fields

With this change the script will add the following fields in the
/etc/os-release: NAME, ID, HOME_URL, VERSION, VERSION_ID, BUILD_ID.
All of them are only added if they are not already set during
image build.

BUG=b:27841076
TEST=cros_generate_os_release_unittest

Change-Id: I23af1fa83c8ffd09dbf58d0ed19e4c2b2c0ae9db
Reviewed-on: https://chromium-review.googlesource.com/342485
Commit-Ready: Andrey Ulanov <andreyu@google.com>
Tested-by: Andrey Ulanov <andreyu@google.com>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/scripts/cros_generate_os_release_unittest.py b/scripts/cros_generate_os_release_unittest.py
index 1dffa0f..7fd1c36 100644
--- a/scripts/cros_generate_os_release_unittest.py
+++ b/scripts/cros_generate_os_release_unittest.py
@@ -50,6 +50,14 @@
     osutils.WriteFile(os.path.join(self.osreleased, "TEST1"), "hello")
     osutils.WriteFile(self.osrelease, "TEST2=bonjour")
 
-    cros_generate_os_release.GenerateOsRelease(self.tempdir)
-    self.assertEquals("TEST1=hello\nTEST2=bonjour\n",
-                      osutils.ReadFile(self.osrelease))
+    default_params = {"TEST1": "hello2",
+                      "TEST3": "hola"}
+
+    cros_generate_os_release.GenerateOsRelease(self.tempdir,
+                                               default_params=default_params)
+    output = osutils.ReadFile(self.osrelease).splitlines()
+    output.sort()
+    self.assertEquals(["TEST1=hello",
+                       "TEST2=bonjour",
+                       "TEST3=hola"],
+                      output)