# Copyright 2014 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//build/config/chromeos/rules.gni") import("//build/config/ui.gni") import("//testing/libfuzzer/fuzzer_test.gni") import("//testing/test.gni") import("//third_party/protobuf/proto_library.gni") assert(is_chromeos, "Non-ChromeOS builds must not depend on //chromeos") declare_args() { # Use binder. Binder related code is compiled only when true. use_binder = false } component("chromeos") { configs += [ "//build/config/linux/nss:system_nss_no_ssl_config" ] public_deps = [ "//dbus", ] deps = [ ":account_manager_proto", ":attestation_proto", ":authpolicy_proto", ":biod_proto", ":cicerone_proto", ":concierge_proto", ":cryptohome_proto", ":login_manager_proto", ":media_perception_proto", ":power_manager_proto", ":smbprovider_proto", ":vm_applications_apps_proto", "//base", "//base:i18n", "//base/third_party/dynamic_annotations", "//components/account_id", "//components/device_event_log", "//components/onc", "//components/password_manager/core/browser:password_hash_data", "//components/policy:cloud_policy_proto_generated_compile", "//components/policy/proto", "//components/pref_registry", "//components/prefs", "//components/proxy_config", "//components/url_formatter", "//components/user_manager", "//crypto:platform", "//google_apis", "//media/base:video_facing", "//net", "//services/network/public/cpp:cpp", "//skia", # For components/user_manager "//third_party/icu", "//third_party/protobuf:protobuf_lite", "//ui/gfx/geometry", # For accelerometer. "//url", ] sources = [ "accelerometer/accelerometer_reader.cc", "accelerometer/accelerometer_reader.h", "accelerometer/accelerometer_types.cc", "accelerometer/accelerometer_types.h", "account_manager/account_manager.cc", "account_manager/account_manager.h", "account_manager/account_manager_factory.cc", "account_manager/account_manager_factory.h", "app_mode/kiosk_oem_manifest_parser.cc", "app_mode/kiosk_oem_manifest_parser.h", "attestation/attestation_flow.cc", "attestation/attestation_flow.h", "audio/audio_device.cc", "audio/audio_device.h", "audio/audio_devices_pref_handler.h", "audio/audio_devices_pref_handler_impl.cc", "audio/audio_devices_pref_handler_impl.h", "audio/audio_devices_pref_handler_stub.cc", "audio/audio_devices_pref_handler_stub.h", "audio/audio_pref_observer.h", "audio/chromeos_sounds.h", "audio/cras_audio_handler.cc", "audio/cras_audio_handler.h", "binder/buffer_reader.cc", "binder/buffer_reader.h", "binder/command_broker.cc", "binder/command_broker.h", "binder/command_stream.cc", "binder/command_stream.h", "binder/constants.h", "binder/driver.cc", "binder/driver.h", "binder/ipc_thread.cc", "binder/ipc_thread.h", "binder/local_object.cc", "binder/local_object.h", "binder/object.h", "binder/remote_object.cc", "binder/remote_object.h", "binder/service_manager_proxy.cc", "binder/service_manager_proxy.h", "binder/status.h", "binder/transaction_data.h", "binder/transaction_data_from_driver.cc", "binder/transaction_data_from_driver.h", "binder/transaction_data_reader.cc", "binder/transaction_data_reader.h", "binder/transaction_status.cc", "binder/transaction_status.h", "binder/util.cc", "binder/util.h", "binder/writable_transaction_data.cc", "binder/writable_transaction_data.h", "cert_loader.cc", "cert_loader.h", "chromeos_constants.cc", "chromeos_constants.h", "chromeos_export.h", "chromeos_features.cc", "chromeos_features.h", "chromeos_paths.cc", "chromeos_paths.h", "chromeos_pref_names.cc", "chromeos_pref_names.h", "chromeos_switches.cc", "chromeos_switches.h", "cryptohome/async_method_caller.cc", "cryptohome/async_method_caller.h", "cryptohome/cryptohome_parameters.cc", "cryptohome/cryptohome_parameters.h", "cryptohome/cryptohome_util.cc", "cryptohome/cryptohome_util.h", "cryptohome/homedir_methods.cc", "cryptohome/homedir_methods.h", "cryptohome/system_salt_getter.cc", "cryptohome/system_salt_getter.h", "dbus/arc_appfuse_provider_client.cc", "dbus/arc_appfuse_provider_client.h", "dbus/arc_midis_client.cc", "dbus/arc_midis_client.h", "dbus/arc_obb_mounter_client.cc", "dbus/arc_obb_mounter_client.h", "dbus/arc_oemcrypto_client.cc", "dbus/arc_oemcrypto_client.h", "dbus/attestation_constants.cc", "dbus/attestation_constants.h", "dbus/audio_node.cc", "dbus/audio_node.h", "dbus/auth_policy_client.cc", "dbus/auth_policy_client.h", "dbus/biod/biod_client.cc", "dbus/biod/biod_client.h", "dbus/biod/fake_biod_client.cc", "dbus/biod/fake_biod_client.h", "dbus/blocking_method_caller.cc", "dbus/blocking_method_caller.h", "dbus/cec_service_client.cc", "dbus/cec_service_client.h", "dbus/cicerone_client.cc", "dbus/cicerone_client.h", "dbus/concierge_client.cc", "dbus/concierge_client.h", "dbus/cras_audio_client.cc", "dbus/cras_audio_client.h", "dbus/cros_disks_client.cc", "dbus/cros_disks_client.h", "dbus/cryptohome_client.cc", "dbus/cryptohome_client.h", "dbus/dbus_client_implementation_type.h", "dbus/dbus_clients_browser.cc", "dbus/dbus_clients_browser.h", "dbus/dbus_clients_common.cc", "dbus/dbus_clients_common.h", "dbus/dbus_method_call_status.cc", "dbus/dbus_method_call_status.h", "dbus/dbus_switches.cc", "dbus/dbus_switches.h", "dbus/dbus_thread_manager.cc", "dbus/dbus_thread_manager.h", "dbus/debug_daemon_client.cc", "dbus/debug_daemon_client.h", "dbus/easy_unlock_client.cc", "dbus/easy_unlock_client.h", "dbus/fake_arc_appfuse_provider_client.cc", "dbus/fake_arc_appfuse_provider_client.h", "dbus/fake_arc_midis_client.cc", "dbus/fake_arc_midis_client.h", "dbus/fake_arc_obb_mounter_client.cc", "dbus/fake_arc_obb_mounter_client.h", "dbus/fake_arc_oemcrypto_client.cc", "dbus/fake_arc_oemcrypto_client.h", "dbus/fake_auth_policy_client.cc", "dbus/fake_auth_policy_client.h", "dbus/fake_cec_service_client.cc", "dbus/fake_cec_service_client.h", "dbus/fake_cicerone_client.cc", "dbus/fake_cicerone_client.h", "dbus/fake_concierge_client.cc", "dbus/fake_concierge_client.h", "dbus/fake_cras_audio_client.cc", "dbus/fake_cras_audio_client.h", "dbus/fake_cros_disks_client.cc", "dbus/fake_cros_disks_client.h", "dbus/fake_cryptohome_client.cc", "dbus/fake_cryptohome_client.h", "dbus/fake_debug_daemon_client.cc", "dbus/fake_debug_daemon_client.h", "dbus/fake_easy_unlock_client.cc", "dbus/fake_easy_unlock_client.h", "dbus/fake_gsm_sms_client.cc", "dbus/fake_gsm_sms_client.h", "dbus/fake_hammerd_client.cc", "dbus/fake_hammerd_client.h", "dbus/fake_image_burner_client.cc", "dbus/fake_image_burner_client.h", "dbus/fake_image_loader_client.cc", "dbus/fake_image_loader_client.h", "dbus/fake_lorgnette_manager_client.cc", "dbus/fake_lorgnette_manager_client.h", "dbus/fake_machine_learning_client.cc", "dbus/fake_machine_learning_client.h", "dbus/fake_media_analytics_client.cc", "dbus/fake_media_analytics_client.h", "dbus/fake_modem_messaging_client.cc", "dbus/fake_modem_messaging_client.h", "dbus/fake_oobe_configuration_client.cc", "dbus/fake_oobe_configuration_client.h", "dbus/fake_permission_broker_client.cc", "dbus/fake_permission_broker_client.h", "dbus/fake_power_manager_client.cc", "dbus/fake_power_manager_client.h", "dbus/fake_session_manager_client.cc", "dbus/fake_session_manager_client.h", "dbus/fake_shill_device_client.cc", "dbus/fake_shill_device_client.h", "dbus/fake_shill_ipconfig_client.cc", "dbus/fake_shill_ipconfig_client.h", "dbus/fake_shill_manager_client.cc", "dbus/fake_shill_manager_client.h", "dbus/fake_shill_profile_client.cc", "dbus/fake_shill_profile_client.h", "dbus/fake_shill_service_client.cc", "dbus/fake_shill_service_client.h", "dbus/fake_shill_third_party_vpn_driver_client.cc", "dbus/fake_shill_third_party_vpn_driver_client.h", "dbus/fake_smb_provider_client.cc", "dbus/fake_smb_provider_client.h", "dbus/fake_sms_client.cc", "dbus/fake_sms_client.h", "dbus/fake_system_clock_client.cc", "dbus/fake_system_clock_client.h", "dbus/fake_upstart_client.cc", "dbus/fake_upstart_client.h", "dbus/fake_virtual_file_provider_client.cc", "dbus/fake_virtual_file_provider_client.h", "dbus/gsm_sms_client.cc", "dbus/gsm_sms_client.h", "dbus/hammerd_client.cc", "dbus/hammerd_client.h", "dbus/image_burner_client.cc", "dbus/image_burner_client.h", "dbus/image_loader_client.cc", "dbus/image_loader_client.h", "dbus/lorgnette_manager_client.cc", "dbus/lorgnette_manager_client.h", "dbus/machine_learning_client.cc", "dbus/machine_learning_client.h", "dbus/media_analytics_client.cc", "dbus/media_analytics_client.h", "dbus/modem_messaging_client.cc", "dbus/modem_messaging_client.h", "dbus/oobe_configuration_client.cc", "dbus/oobe_configuration_client.h", "dbus/permission_broker_client.cc", "dbus/permission_broker_client.h", "dbus/pipe_reader.cc", "dbus/pipe_reader.h", "dbus/power_manager_client.cc", "dbus/power_manager_client.h", "dbus/power_policy_controller.cc", "dbus/power_policy_controller.h", "dbus/services/cros_dbus_service.cc", "dbus/services/cros_dbus_service.h", "dbus/session_manager_client.cc", "dbus/session_manager_client.h", "dbus/shill_client_helper.cc", "dbus/shill_client_helper.h", "dbus/shill_device_client.cc", "dbus/shill_device_client.h", "dbus/shill_ipconfig_client.cc", "dbus/shill_ipconfig_client.h", "dbus/shill_manager_client.cc", "dbus/shill_manager_client.h", "dbus/shill_profile_client.cc", "dbus/shill_profile_client.h", "dbus/shill_service_client.cc", "dbus/shill_service_client.h", "dbus/shill_third_party_vpn_driver_client.cc", "dbus/shill_third_party_vpn_driver_client.h", "dbus/smb_provider_client.cc", "dbus/smb_provider_client.h", "dbus/sms_client.cc", "dbus/sms_client.h", "dbus/system_clock_client.cc", "dbus/system_clock_client.h", "dbus/update_engine_client.cc", "dbus/update_engine_client.h", "dbus/upstart_client.cc", "dbus/upstart_client.h", "dbus/util/account_identifier_operators.cc", "dbus/util/account_identifier_operators.h", "dbus/util/tpm_util.cc", "dbus/util/tpm_util.h", "dbus/util/version_loader.cc", "dbus/util/version_loader.h", "dbus/virtual_file_provider_client.cc", "dbus/virtual_file_provider_client.h", "dbus/volume_state.cc", "dbus/volume_state.h", "disks/disk.cc", "disks/disk.h", "disks/disk_mount_manager.cc", "disks/disk_mount_manager.h", "disks/suspend_unmount_manager.cc", "disks/suspend_unmount_manager.h", "geolocation/geoposition.cc", "geolocation/geoposition.h", "geolocation/simple_geolocation_provider.cc", "geolocation/simple_geolocation_provider.h", "geolocation/simple_geolocation_request.cc", "geolocation/simple_geolocation_request.h", "geolocation/simple_geolocation_request_test_monitor.cc", "geolocation/simple_geolocation_request_test_monitor.h", "hugepage_text/hugepage_text.cc", "hugepage_text/hugepage_text.h", "login/auth/auth_attempt_state.cc", "login/auth/auth_attempt_state.h", "login/auth/auth_attempt_state_resolver.cc", "login/auth/auth_attempt_state_resolver.h", "login/auth/auth_status_consumer.cc", "login/auth/auth_status_consumer.h", "login/auth/authenticator.cc", "login/auth/authenticator.h", "login/auth/authpolicy_login_helper.cc", "login/auth/authpolicy_login_helper.h", "login/auth/challenge_response_key.cc", "login/auth/challenge_response_key.h", "login/auth/cryptohome_authenticator.cc", "login/auth/cryptohome_authenticator.h", "login/auth/extended_authenticator.cc", "login/auth/extended_authenticator.h", "login/auth/extended_authenticator_impl.cc", "login/auth/extended_authenticator_impl.h", "login/auth/key.cc", "login/auth/key.h", "login/auth/login_performer.cc", "login/auth/login_performer.h", "login/auth/stub_authenticator.cc", "login/auth/stub_authenticator.h", "login/auth/test_attempt_state.cc", "login/auth/test_attempt_state.h", "login/auth/user_context.cc", "login/auth/user_context.h", "login/login_state.cc", "login/login_state.h", "login_event_recorder.cc", "login_event_recorder.h", "network/auto_connect_handler.cc", "network/auto_connect_handler.h", "network/certificate_helper.cc", "network/certificate_helper.h", "network/certificate_pattern.cc", "network/certificate_pattern.h", "network/client_cert_resolver.cc", "network/client_cert_resolver.h", "network/client_cert_util.cc", "network/client_cert_util.h", "network/device_state.cc", "network/device_state.h", "network/dhcp_pac_file_fetcher_chromeos.cc", "network/dhcp_pac_file_fetcher_chromeos.h", "network/dhcp_pac_file_fetcher_factory_chromeos.cc", "network/dhcp_pac_file_fetcher_factory_chromeos.h", "network/firewall_hole.cc", "network/firewall_hole.h", "network/geolocation_handler.cc", "network/geolocation_handler.h", "network/host_resolver_impl_chromeos.cc", "network/host_resolver_impl_chromeos.h", "network/managed_network_configuration_handler.cc", "network/managed_network_configuration_handler.h", "network/managed_network_configuration_handler_impl.cc", "network/managed_network_configuration_handler_impl.h", "network/managed_state.cc", "network/managed_state.h", "network/network_activation_handler.cc", "network/network_activation_handler.h", "network/network_cert_migrator.cc", "network/network_cert_migrator.h", "network/network_certificate_handler.cc", "network/network_certificate_handler.h", "network/network_change_notifier_chromeos.cc", "network/network_change_notifier_chromeos.h", "network/network_change_notifier_factory_chromeos.cc", "network/network_change_notifier_factory_chromeos.h", "network/network_configuration_handler.cc", "network/network_configuration_handler.h", "network/network_configuration_observer.h", "network/network_connect.cc", "network/network_connect.h", "network/network_connection_handler.cc", "network/network_connection_handler.h", "network/network_connection_handler_impl.cc", "network/network_connection_handler_impl.h", "network/network_connection_observer.cc", "network/network_connection_observer.h", "network/network_device_handler.cc", "network/network_device_handler.h", "network/network_device_handler_impl.cc", "network/network_device_handler_impl.h", "network/network_event_log.h", "network/network_handler.cc", "network/network_handler.h", "network/network_handler_callbacks.cc", "network/network_handler_callbacks.h", "network/network_ip_config.cc", "network/network_ip_config.h", "network/network_profile.cc", "network/network_profile.h", "network/network_profile_handler.cc", "network/network_profile_handler.h", "network/network_profile_observer.h", "network/network_sms_handler.cc", "network/network_sms_handler.h", "network/network_state.cc", "network/network_state.h", "network/network_state_handler.cc", "network/network_state_handler.h", "network/network_state_handler_observer.cc", "network/network_state_handler_observer.h", "network/network_type_pattern.cc", "network/network_type_pattern.h", "network/network_ui_data.cc", "network/network_ui_data.h", "network/network_util.cc", "network/network_util.h", "network/onc/onc_certificate_importer.h", "network/onc/onc_certificate_importer_impl.cc", "network/onc/onc_certificate_importer_impl.h", "network/onc/onc_mapper.cc", "network/onc/onc_mapper.h", "network/onc/onc_merger.cc", "network/onc/onc_merger.h", "network/onc/onc_normalizer.cc", "network/onc/onc_normalizer.h", "network/onc/onc_parsed_certificates.cc", "network/onc/onc_parsed_certificates.h", "network/onc/onc_signature.cc", "network/onc/onc_signature.h", "network/onc/onc_translation_tables.cc", "network/onc/onc_translation_tables.h", "network/onc/onc_translator.h", "network/onc/onc_translator_onc_to_shill.cc", "network/onc/onc_translator_shill_to_onc.cc", "network/onc/onc_utils.cc", "network/onc/onc_utils.h", "network/onc/onc_validator.cc", "network/onc/onc_validator.h", "network/policy_applicator.cc", "network/policy_applicator.h", "network/policy_util.cc", "network/policy_util.h", "network/portal_detector/network_portal_detector.cc", "network/portal_detector/network_portal_detector.h", "network/portal_detector/network_portal_detector_strategy.cc", "network/portal_detector/network_portal_detector_strategy.h", "network/portal_detector/network_portal_detector_stub.cc", "network/portal_detector/network_portal_detector_stub.h", "network/prohibited_technologies_handler.cc", "network/prohibited_technologies_handler.h", "network/proxy/proxy_config_handler.cc", "network/proxy/proxy_config_handler.h", "network/proxy/proxy_config_service_impl.cc", "network/proxy/proxy_config_service_impl.h", "network/proxy/ui_proxy_config.cc", "network/proxy/ui_proxy_config.h", "network/proxy/ui_proxy_config_service.cc", "network/proxy/ui_proxy_config_service.h", "network/shill_property_handler.cc", "network/shill_property_handler.h", "network/shill_property_util.cc", "network/shill_property_util.h", "network/tether_constants.cc", "network/tether_constants.h", "policy_certificate_provider.h", "printing/ppd_cache.cc", "printing/ppd_cache.h", "printing/ppd_line_reader.cc", "printing/ppd_line_reader.h", "printing/ppd_provider.cc", "printing/ppd_provider.h", "printing/printer_configuration.cc", "printing/printer_configuration.h", "printing/printer_translator.cc", "printing/printer_translator.h", "printing/uri_components.cc", "printing/uri_components.h", "process_proxy/process_output_watcher.cc", "process_proxy/process_output_watcher.h", "process_proxy/process_proxy.cc", "process_proxy/process_proxy.h", "process_proxy/process_proxy_registry.cc", "process_proxy/process_proxy_registry.h", "settings/cros_settings_names.cc", "settings/cros_settings_names.h", "settings/cros_settings_provider.cc", "settings/cros_settings_provider.h", "settings/timezone_settings.cc", "settings/timezone_settings.h", "settings/timezone_settings_helper.cc", "settings/timezone_settings_helper.h", "system/cpu_temperature_reader.cc", "system/cpu_temperature_reader.h", "system/devicemode.cc", "system/devicemode.h", "system/devicetype.cc", "system/devicetype.h", "system/factory_ping_embargo_check.cc", "system/factory_ping_embargo_check.h", # Used when running mash, both on Linux and on real devices. "system/fake_statistics_provider.cc", "system/fake_statistics_provider.h", "system/name_value_pairs_parser.cc", "system/name_value_pairs_parser.h", "system/statistics_provider.cc", "system/statistics_provider.h", "timezone/timezone_provider.cc", "timezone/timezone_provider.h", "timezone/timezone_request.cc", "timezone/timezone_request.h", "timezone/timezone_resolver.cc", "timezone/timezone_resolver.h", "tools/variable_expander.cc", "tools/variable_expander.h", "tpm/tpm_password_fetcher.cc", "tpm/tpm_password_fetcher.h", "tpm/tpm_token_info_getter.cc", "tpm/tpm_token_info_getter.h", "tpm/tpm_token_loader.cc", "tpm/tpm_token_loader.h", ] defines = [ "CHROMEOS_IMPLEMENTATION" ] if (current_cpu == "arm" || current_cpu == "x86") { defines += [ "BINDER_IPC_32BIT" ] } } # This must be a static library instead of a source set because some of the # files pull in things with dependencies that aren't linked in all cases. # # TODO this should probably be changed such that it links in all cases and # can be converted to a source set. static_library("test_support") { testonly = true configs += [ "//build/config/linux/dbus" ] public_deps = [ ":attestation_proto", ":biod_proto", ":chromeos", ":cryptohome_proto", ":power_manager_proto", ] deps = [ ":test_support_without_gmock", "//components/account_id", "//dbus:test_support", "//google_apis", "//net:test_support", "//services/network:test_support", "//testing/gmock", "//testing/gtest", ] sources = [ "attestation/mock_attestation_flow.cc", "attestation/mock_attestation_flow.h", "chromeos_test_utils.cc", "chromeos_test_utils.h", "cryptohome/mock_async_method_caller.cc", "cryptohome/mock_async_method_caller.h", "cryptohome/mock_homedir_methods.cc", "cryptohome/mock_homedir_methods.h", "dbus/biod/test_utils.cc", "dbus/biod/test_utils.h", "dbus/services/service_provider_test_helper.cc", "dbus/services/service_provider_test_helper.h", "disks/mock_disk_mount_manager.cc", "disks/mock_disk_mount_manager.h", "login/auth/fake_extended_authenticator.cc", "login/auth/fake_extended_authenticator.h", "login/auth/mock_auth_attempt_state_resolver.cc", "login/auth/mock_auth_attempt_state_resolver.h", "login/auth/mock_auth_status_consumer.cc", "login/auth/mock_auth_status_consumer.h", "login/auth/mock_url_fetchers.cc", "login/auth/mock_url_fetchers.h", "login/scoped_test_public_session_login_state.cc", "login/scoped_test_public_session_login_state.h", "network/fake_network_device_handler.cc", "network/fake_network_device_handler.h", "network/mock_managed_network_configuration_handler.cc", "network/mock_managed_network_configuration_handler.h", "network/mock_network_device_handler.cc", "network/mock_network_device_handler.h", "network/mock_network_state_handler.cc", "network/mock_network_state_handler.h", "network/network_state_test.cc", "network/network_state_test.h", "network/onc/onc_test_utils.cc", "network/onc/onc_test_utils.h", "network/portal_detector/mock_network_portal_detector.cc", "network/portal_detector/mock_network_portal_detector.h", ] } static_library("test_support_without_gmock") { testonly = true configs += [ "//build/config/linux/dbus" ] deps = [ ":attestation_proto", ":biod_proto", ":chromeos", ":cryptohome_proto", ":login_manager_proto", ":power_manager_proto", "//components/policy/proto", "//crypto", "//url", ] sources = [ "dbus/fake_cros_disks_client.cc", "dbus/fake_cros_disks_client.h", # TODO(crbug.com/799071) remove fake_session_manager_client and fix build rules. "dbus/fake_session_manager_client.cc", "dbus/fake_session_manager_client.h", "dbus/fake_shill_manager_client.cc", "dbus/fake_shill_manager_client.h", "dbus/fake_update_engine_client.cc", "dbus/fake_update_engine_client.h", ] } test("chromeos_unittests") { configs += [ "//build/config/linux/dbus", "//build/config/linux/nss:system_nss_no_ssl_config", ] deps = [ ":attestation_proto", ":authpolicy_proto", ":biod_proto", ":cryptohome_proto", ":power_manager_proto", ":test_support", ":test_support_without_gmock", "//base/test:test_support", "//chromeos/services:unit_tests", "//components/account_id", "//components/onc", "//components/prefs:test_support", "//components/proxy_config", "//crypto", "//crypto:test_support", "//dbus:test_support", "//google_apis", "//media/base:video_facing", "//mojo/core/embedder", "//net", "//net:test_support", "//services/network:test_support", "//services/network/public/cpp", "//testing/gmock", "//testing/gtest", "//third_party/icu", "//url", ] sources = [ "account_manager/account_manager_unittest.cc", "app_mode/kiosk_oem_manifest_parser_unittest.cc", "attestation/attestation_flow_unittest.cc", "audio/audio_devices_pref_handler_impl_unittest.cc", "audio/cras_audio_handler_unittest.cc", "cert_loader_unittest.cc", "cryptohome/cryptohome_util_unittest.cc", "cryptohome/system_salt_getter_unittest.cc", "dbus/biod/biod_client_unittest.cc", "dbus/biod/fake_biod_client_unittest.cc", "dbus/blocking_method_caller_unittest.cc", "dbus/cec_service_client_unittest.cc", "dbus/cras_audio_client_unittest.cc", "dbus/cros_disks_client_unittest.cc", "dbus/dbus_thread_manager_unittest.cc", "dbus/fake_auth_policy_client_unittest.cc", "dbus/fake_cryptohome_client_unittest.cc", "dbus/fake_easy_unlock_client_unittest.cc", "dbus/fake_power_manager_client_unittest.cc", "dbus/gsm_sms_client_unittest.cc", "dbus/modem_messaging_client_unittest.cc", "dbus/pipe_reader_unittest.cc", "dbus/power_manager_client_unittest.cc", "dbus/power_policy_controller_unittest.cc", "dbus/services/cros_dbus_service_unittest.cc", "dbus/shill_client_unittest_base.cc", "dbus/shill_client_unittest_base.h", "dbus/shill_device_client_unittest.cc", "dbus/shill_ipconfig_client_unittest.cc", "dbus/shill_manager_client_unittest.cc", "dbus/shill_profile_client_unittest.cc", "dbus/shill_service_client_unittest.cc", "dbus/shill_third_party_vpn_driver_client_unittest.cc", "dbus/util/version_loader_unittest.cc", "disks/disk_mount_manager_unittest.cc", "disks/disk_unittest.cc", "disks/suspend_unmount_manager_unittest.cc", "geolocation/simple_geolocation_unittest.cc", "login/auth/authpolicy_login_helper_unittest.cc", "login/auth/key_unittest.cc", "login/login_state_unittest.cc", "network/auto_connect_handler_unittest.cc", "network/certificate_helper_unittest.cc", "network/client_cert_resolver_unittest.cc", "network/firewall_hole_unittest.cc", "network/geolocation_handler_unittest.cc", "network/host_resolver_impl_chromeos_unittest.cc", "network/managed_network_configuration_handler_unittest.cc", "network/network_cert_migrator_unittest.cc", "network/network_change_notifier_chromeos_unittest.cc", "network/network_configuration_handler_unittest.cc", "network/network_connect_unittest.cc", "network/network_connection_handler_impl_unittest.cc", "network/network_device_handler_unittest.cc", "network/network_sms_handler_unittest.cc", "network/network_state_handler_unittest.cc", "network/network_state_unittest.cc", "network/network_type_pattern_unittest.cc", "network/network_ui_data_unittest.cc", "network/network_util_unittest.cc", "network/onc/onc_certificate_importer_impl_unittest.cc", "network/onc/onc_merger_unittest.cc", "network/onc/onc_normalizer_unittest.cc", "network/onc/onc_parsed_certificates_unittest.cc", "network/onc/onc_translator_unittest.cc", "network/onc/onc_utils_unittest.cc", "network/onc/onc_validator_unittest.cc", "network/prohibited_technologies_handler_unittest.cc", "network/proxy/proxy_config_service_impl_unittest.cc", "network/shill_property_handler_unittest.cc", "printing/ppd_cache_unittest.cc", "printing/ppd_line_reader_unittest.cc", "printing/ppd_provider_unittest.cc", "printing/printer_configuration_unittest.cc", "printing/printer_translator_unittest.cc", "process_proxy/process_output_watcher_unittest.cc", "process_proxy/process_proxy_unittest.cc", "run_all_unittests.cc", "settings/timezone_settings_unittest.cc", "system/cpu_temperature_reader_unittest.cc", "system/factory_ping_embargo_check_unittest.cc", "system/name_value_pairs_parser_unittest.cc", "timezone/timezone_unittest.cc", "tools/variable_expander_unittest.cc", "tpm/tpm_token_info_getter_unittest.cc", ] if (use_binder) { if (current_cpu == "arm" || current_cpu == "x86") { defines += [ "BINDER_IPC_32BIT" ] } sources += [ "binder/buffer_reader_unittest.cc", "binder/command_broker_unittest.cc", "binder/command_stream_unittest.cc", "binder/driver_unittest.cc", "binder/end_to_end_unittest.cc", "binder/service_manager_proxy_unittest.cc", "binder/test_service.cc", "binder/test_service.h", "binder/transaction_data_read_write_unittest.cc", ] } data = [ "test/data/", ] } if (cros_board != "") { generate_vm_runner_script("cros_vm_launcher") { generated_script = "$root_build_dir/bin/launch_cros_vm" # Assume every time we build cros_vm_launcher, we also build chrome and # want to deploy it to the VM. deploy_chrome = true } # The sanity test's actual binary is baked into the vm image. All we need to # do is build the test wrapper and build our own browser to push to the VM # before testing it. generate_vm_runner_script("cros_vm_sanity_test_wrapper") { test_exe = "$root_out_dir/cros_vm_sanity_test" generated_script = "$root_build_dir/bin/run_cros_vm_sanity_test" # The sanity test needs to strip down Chrome and its deps to fit it into # the VM. It does so by using binutils in the toolchain. So signal that we # need the toolchain in the data. need_toolchain = true } group("cros_chrome_deploy") { # The following run-time dependencies are needed to deploy chrome to a # ChromeOS device. See the link for the full list: # https://codesearch.chromium.org/chromium/src/third_party/chromite/lib/chrome_util.py?l=341 # Most of these are copy targets, for which GN doesn't add their outputs # as runtime-deps. See the link below for more details: # https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/reference.md#actions-and-copies data_deps = [ "//chrome:xdg_mime", "//mojo/core:shared_library_arc32", "//mojo/core:shared_library_arc64", ] # TODO(bpastene): Figure out what's generating resources/chromeos/ and # declare it as a dep instead of adding the dir directly. data = [ "$root_out_dir/resources/chromeos/", ] } group("cros_vm_sanity_test") { testonly = true write_runtime_deps = "$root_out_dir/cros_vm_sanity_test.runtime_deps" data_deps = [ ":cros_chrome_deploy", "//:chromiumos_preflight", # Builds the browser. ":cros_vm_sanity_test_wrapper", # Builds the test wrapper. ] } } fuzzer_test("variable_expander_fuzzer") { sources = [ "tools/variable_expander_fuzzer.cc", ] seed_corpus = "//chromeos/test/data/variable_expander/fuzzer_corpus" dict = "//chromeos/test/data/variable_expander/fuzzer.dict" deps = [ ":chromeos", "//base/test:test_support", ] } proto_library("power_manager_proto") { sources = [ "//third_party/cros_system_api/dbus/power_manager/backlight.proto", "//third_party/cros_system_api/dbus/power_manager/idle.proto", "//third_party/cros_system_api/dbus/power_manager/input_event.proto", "//third_party/cros_system_api/dbus/power_manager/peripheral_battery_status.proto", "//third_party/cros_system_api/dbus/power_manager/policy.proto", "//third_party/cros_system_api/dbus/power_manager/power_supply_properties.proto", "//third_party/cros_system_api/dbus/power_manager/suspend.proto", "//third_party/cros_system_api/dbus/power_manager/switch_states.proto", ] proto_out_dir = "chromeos/dbus/power_manager" } proto_library("attestation_proto") { sources = [ "dbus/proto/attestation.proto", ] proto_out_dir = "chromeos/dbus/attestation" } proto_library("authpolicy_proto") { sources = [ "//third_party/cros_system_api/dbus/authpolicy/active_directory_info.proto", ] proto_out_dir = "chromeos/dbus/authpolicy" } proto_library("biod_proto") { sources = [ "//third_party/cros_system_api/dbus/biod/constants.proto", "//third_party/cros_system_api/dbus/biod/messages.proto", ] proto_out_dir = "chromeos/dbus/biod" } proto_library("cicerone_proto") { sources = [ "//third_party/cros_system_api/dbus/vm_cicerone/cicerone_service.proto", ] proto_out_dir = "chromeos/dbus/cicerone" } proto_library("concierge_proto") { sources = [ "//third_party/cros_system_api/dbus/vm_concierge/service.proto", ] proto_out_dir = "chromeos/dbus/concierge" } proto_library("cryptohome_proto") { sources = [ "//third_party/cros_system_api/dbus/cryptohome/key.proto", "//third_party/cros_system_api/dbus/cryptohome/rpc.proto", ] proto_out_dir = "chromeos/dbus/cryptohome" } proto_library("cryptohome_signkey_proto") { sources = [ "//third_party/cros_system_api/dbus/cryptohome/signed_secret.proto", ] proto_out_dir = "chromeos/dbus/cryptohome" } proto_library("login_manager_proto") { sources = [ "//third_party/cros_system_api/dbus/login_manager/arc.proto", "//third_party/cros_system_api/dbus/login_manager/policy_descriptor.proto", ] proto_out_dir = "chromeos/dbus/login_manager" } proto_library("media_perception_proto") { sources = [ "dbus/proto/media_perception.proto", ] proto_out_dir = "chromeos/dbus/media_perception" } proto_library("smbprovider_proto") { sources = [ "//third_party/cros_system_api/dbus/smbprovider/directory_entry.proto", ] proto_out_dir = "chromeos/dbus/smbprovider" } proto_library("vm_applications_apps_proto") { sources = [ "//third_party/cros_system_api/dbus/vm_applications/apps.proto", ] proto_out_dir = "chromeos/dbus/vm_applications" } proto_library("account_manager_proto") { sources = [ "account_manager/tokens.proto", ] proto_out_dir = "chromeos/account_manager" }