Add update_engine_host_unittests

Some of update_engine's codebase (payload generator stuff) run on host.
So it make sense to test them on the host. Adding a new unittest target
update_engine_host_unittests, which includes a subset of unittest. After
this CL, the old update_engine_unittests target remains unchanged, it
still contains all 600 unittests. The new host target will contain a
subset of these.

Test: th
Change-Id: I49c8310cee9a2b2ea197b8ab60ea3b00bf5680cf
diff --git a/Android.bp b/Android.bp
index a1bc6b0..f95f207 100644
--- a/Android.bp
+++ b/Android.bp
@@ -59,6 +59,7 @@
         "-ffunction-sections",
         "-fstack-protector-strong",
         "-fvisibility=hidden",
+        "-g3",
     ],
     cppflags: [
         "-Wnon-virtual-dtor",
@@ -251,6 +252,7 @@
         "payload_consumer/xz_extent_writer.cc",
         "payload_consumer/fec_file_descriptor.cc",
         "payload_consumer/partition_update_generator_android.cc",
+        "update_status_utils.cc",
     ],
 }
 
@@ -392,7 +394,6 @@
         "libcurl_http_fetcher.cc",
         "metrics_utils.cc",
         "update_boot_flags_action.cc",
-        "update_status_utils.cc",
     ],
 }
 
@@ -647,6 +648,7 @@
 }
 
 cc_test {
+    host_supported: true,
     name: "ue_unittest_delta_generator",
     defaults: [
         "ue_defaults",
@@ -728,6 +730,78 @@
     ],
 }
 
+filegroup {
+    name: "update_engine_host_unittest_srcs",
+    srcs: [
+        "common/action_pipe_unittest.cc",
+        "common/action_processor_unittest.cc",
+        "common/action_unittest.cc",
+        "common/cow_operation_convert_unittest.cc",
+        "common/cpu_limiter_unittest.cc",
+        "common/fake_prefs.cc",
+        "common/file_fetcher_unittest.cc",
+        "common/hash_calculator_unittest.cc",
+        "common/hwid_override_unittest.cc",
+        "common/metrics_reporter_stub.cc",
+        "common/mock_http_fetcher.cc",
+        "common/prefs_unittest.cc",
+        "common/terminator_unittest.cc",
+        "common/test_utils.cc",
+        "payload_generator/ab_generator_unittest.cc",
+        "payload_generator/blob_file_writer_unittest.cc",
+        "payload_generator/block_mapping_unittest.cc",
+        "payload_generator/boot_img_filesystem_unittest.cc",
+        "payload_generator/deflate_utils_unittest.cc",
+        "payload_generator/delta_diff_utils_unittest.cc",
+        "payload_generator/ext2_filesystem_unittest.cc",
+        "payload_generator/extent_ranges_unittest.cc",
+        "payload_generator/extent_utils_unittest.cc",
+        "payload_generator/fake_filesystem.cc",
+        "payload_generator/full_update_generator_unittest.cc",
+        "payload_generator/mapfile_filesystem_unittest.cc",
+        "payload_generator/merge_sequence_generator_unittest.cc",
+        "payload_generator/payload_file_unittest.cc",
+        "payload_generator/payload_generation_config_android_unittest.cc",
+        "payload_generator/payload_generation_config_unittest.cc",
+        "payload_generator/payload_properties_unittest.cc",
+        "payload_generator/payload_signer_unittest.cc",
+        "payload_generator/squashfs_filesystem_unittest.cc",
+        "payload_generator/zip_unittest.cc",
+        "testrunner.cc",
+    ],
+}
+
+cc_test_host {
+    name: "update_engine_host_unittests",
+    defaults: [
+        "ue_defaults",
+        "libpayload_generator_exports",
+    ],
+    strip: {
+        none: true,
+    },
+    cflags: [
+        "-g3",
+    ],
+    srcs: [":update_engine_host_unittest_srcs"],
+    data: [
+        ":ue_unittest_delta_generator",
+        ":ue_unittest_disk_imgs",
+        ":ue_unittest_keys",
+        "otacerts.zip",
+        "unittest_key.pem",
+        "unittest_key2.pem",
+        "unittest_key_RSA4096.pem",
+        "unittest_key_EC.pem",
+        "update_engine.conf",
+    ],
+    static_libs: [
+        "libcurl",
+        "libgmock",
+        "libpayload_generator",
+    ],
+}
+
 // update_engine_unittests (type: executable)
 // ========================================================
 // Main unittest file.
@@ -772,31 +846,18 @@
     test_suites: ["device-tests"],
 
     srcs: [
+        ":update_engine_host_unittest_srcs",
         "aosp/apex_handler_android_unittest.cc",
         "aosp/cleanup_previous_update_action_unittest.cc",
         "aosp/dynamic_partition_control_android_unittest.cc",
         "aosp/update_attempter_android_unittest.cc",
+        "download_action_android_unittest.cc",
         "certificate_checker_unittest.cc",
-        "common/action_pipe_unittest.cc",
-        "common/action_processor_unittest.cc",
-        "common/action_unittest.cc",
-        "common/cow_operation_convert_unittest.cc",
-        "common/cpu_limiter_unittest.cc",
-        "common/fake_prefs.cc",
-        "common/file_fetcher_unittest.cc",
-        "common/hash_calculator_unittest.cc",
+        "libcurl_http_fetcher_unittest.cc",
         "common/http_fetcher_unittest.cc",
-        "common/hwid_override_unittest.cc",
-        "common/metrics_reporter_stub.cc",
-        "common/mock_http_fetcher.cc",
-        "common/prefs_unittest.cc",
         "common/proxy_resolver_unittest.cc",
         "common/subprocess_unittest.cc",
-        "common/terminator_unittest.cc",
-        "common/test_utils.cc",
         "common/utils_unittest.cc",
-        "download_action_android_unittest.cc",
-        "libcurl_http_fetcher_unittest.cc",
         "payload_consumer/bzip_extent_writer_unittest.cc",
         "payload_consumer/cached_file_descriptor_unittest.cc",
         "payload_consumer/cow_writer_file_descriptor_unittest.cc",
@@ -806,10 +867,10 @@
         "payload_consumer/partition_writer_unittest.cc",
         "payload_consumer/extent_reader_unittest.cc",
         "payload_consumer/extent_writer_unittest.cc",
-        "payload_consumer/extent_map_unittest.cc",
         "payload_consumer/snapshot_extent_writer_unittest.cc",
         "payload_consumer/xor_extent_writer_unittest.cc",
         "payload_consumer/vabc_partition_writer_unittest.cc",
+        "payload_consumer/extent_map_unittest.cc",
         "payload_consumer/fake_file_descriptor.cc",
         "payload_consumer/file_descriptor_utils_unittest.cc",
         "payload_consumer/file_writer_unittest.cc",
@@ -820,27 +881,6 @@
         "payload_consumer/postinstall_runner_action_unittest.cc",
         "payload_consumer/verity_writer_android_unittest.cc",
         "payload_consumer/xz_extent_writer_unittest.cc",
-        "payload_generator/ab_generator_unittest.cc",
-        "payload_generator/blob_file_writer_unittest.cc",
-        "payload_generator/block_mapping_unittest.cc",
-        "payload_generator/boot_img_filesystem_unittest.cc",
-        "payload_generator/deflate_utils_unittest.cc",
-        "payload_generator/delta_diff_utils_unittest.cc",
-        "payload_generator/ext2_filesystem_unittest.cc",
-        "payload_generator/extent_ranges_unittest.cc",
-        "payload_generator/extent_utils_unittest.cc",
-        "payload_generator/fake_filesystem.cc",
-        "payload_generator/full_update_generator_unittest.cc",
-        "payload_generator/mapfile_filesystem_unittest.cc",
-        "payload_generator/merge_sequence_generator_unittest.cc",
-        "payload_generator/payload_file_unittest.cc",
-        "payload_generator/payload_generation_config_android_unittest.cc",
-        "payload_generator/payload_generation_config_unittest.cc",
-        "payload_generator/payload_properties_unittest.cc",
-        "payload_generator/payload_signer_unittest.cc",
-        "payload_generator/squashfs_filesystem_unittest.cc",
-        "payload_generator/zip_unittest.cc",
-        "testrunner.cc",
         "update_status_utils_unittest.cc",
     ],
 }