blob: fe4ae05c4f21029bcab88cd9e77d0586770321df [file] [log] [blame]
# 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")
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",
":metrics_event_proto",
":oobe_config_proto",
":power_manager_proto",
":seneschal_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",
"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_seneschal_client.cc",
"dbus/fake_seneschal_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/seneschal_client.cc",
"dbus/seneschal_client.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",
"policy/weekly_time/time_utils.cc",
"policy/weekly_time/time_utils.h",
"policy/weekly_time/weekly_time.cc",
"policy/weekly_time/weekly_time.h",
"policy/weekly_time/weekly_time_interval.cc",
"policy/weekly_time/weekly_time_interval.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",
":oobe_config_proto",
":power_manager_proto",
":test_support",
":test_support_without_gmock",
"//base/test:test_support",
"//chromeos/services:unit_tests",
"//components/account_id",
"//components/onc",
"//components/policy:generated",
"//components/policy/proto",
"//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/oobe_configuration_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/update_engine_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",
"policy/weekly_time/time_utils_unittest.cc",
"policy/weekly_time/weekly_time_interval_unittest.cc",
"policy/weekly_time/weekly_time_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",
]
data = [
"test/data/",
]
}
# The following definitions only apply when building for a CrOS board (ie: not
# linux-chromeos). See the following for reference:
# https://chromium.googlesource.com/chromium/src/+/master/docs/chromeos_build_instructions.md
# https://chromium.googlesource.com/chromiumos/docs/+/master/simple_chrome_workflow.md
if (is_chromeos_chrome) {
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") {
testonly = true
test_exe = "cros_vm_sanity_test"
generated_script = "$root_build_dir/bin/run_cros_vm_sanity_test"
runtime_deps_file = "$root_out_dir/cros_vm_sanity_test.runtime_deps"
data_deps = [
":cros_chrome_deploy",
"//:chromiumos_preflight", # Builds the browser.
]
}
tast_test("chrome_login_tast_tests") {
tast_tests = [
"ui.ChromeLogin",
"ui.ChromeCrashLoggedIn",
"ui.ChromeCrashNotLoggedIn",
]
}
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/",
]
}
}
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("metrics_event_proto") {
sources = [
"//third_party/cros_system_api/dbus/metrics_event/metrics_event.proto",
]
proto_out_dir = "chromeos/dbus/metrics_event"
}
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("oobe_config_proto") {
sources = [
"//third_party/cros_system_api/dbus/oobe_config/oobe_config.proto",
]
proto_out_dir = "chromeos/dbus/oobe_config"
}
proto_library("seneschal_proto") {
sources = [
"//third_party/cros_system_api/dbus/seneschal/seneschal_service.proto",
]
proto_out_dir = "chromeos/dbus/seneschal"
}
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"
}