diff options
Diffstat (limited to 'chromium/chromeos/BUILD.gn')
-rw-r--r-- | chromium/chromeos/BUILD.gn | 410 |
1 files changed, 65 insertions, 345 deletions
diff --git a/chromium/chromeos/BUILD.gn b/chromium/chromeos/BUILD.gn index 3c51dfaa921..103212164f2 100644 --- a/chromium/chromeos/BUILD.gn +++ b/chromium/chromeos/BUILD.gn @@ -2,9 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/buildflag_header.gni") 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") @@ -15,6 +15,11 @@ config("chromeos_implementation") { defines = [ "CHROMEOS_IMPLEMENTATION" ] } +buildflag_header("chromeos_buildflags") { + header = "chromeos_buildflags.h" + flags = [ "IS_CROS_CHROME_SDK=$is_cros_chrome_sdk" ] +} + component("chromeos") { configs += [ ":chromeos_implementation", @@ -22,88 +27,24 @@ component("chromeos") { ] public_deps = [ ":chromeos_constants", - ":chromeos_export", - ":login_event_recorder", - ":policy_certificate_provider", - ":tools", - "//chromeos/cryptohome", - "//chromeos/dbus", - "//chromeos/login", - "//chromeos/network", - "//chromeos/settings", - "//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", + ":chromeos_export", "//base", "//base:i18n", - "//base/third_party/dynamic_annotations", - "//components/account_id", - "//components/device_event_log", - "//components/policy:cloud_policy_proto_generated_compile", "//components/policy/proto", - "//components/pref_registry", - "//components/prefs", - "//components/user_manager", - "//crypto:platform", "//google_apis", - "//media/base:video_facing", "//services/network/public/cpp:cpp", "//third_party/protobuf:protobuf_lite", - "//ui/gfx/geometry", # For accelerometer. ] 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", - "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", "policy/weekly_time/time_utils.cc", @@ -134,8 +75,6 @@ component("chromeos") { "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", @@ -146,18 +85,6 @@ component("chromeos") { "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", - "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", ] if (current_cpu == "arm" || current_cpu == "x86") { defines = [ "BINDER_IPC_32BIT" ] @@ -179,55 +106,22 @@ source_set("chromeos_constants") { ":chromeos_export", "//base", "//base:i18n", - "//chromeos/dbus:dbus_switches", + "//chromeos/dbus:constants", "//third_party/icu", ] sources = [ - "chromeos_constants.cc", - "chromeos_constants.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", - ] -} - -source_set("login_event_recorder") { - configs += [ ":chromeos_implementation" ] - deps = [ - ":chromeos_export", - "//base", - ] - sources = [ - "login_event_recorder.cc", - "login_event_recorder.h", - ] -} - -source_set("policy_certificate_provider") { - configs += [ ":chromeos_implementation" ] - deps = [ - ":chromeos_export", - "//base", - ] - sources = [ - "policy_certificate_provider.h", - ] -} - -source_set("tools") { - configs += [ ":chromeos_implementation" ] - deps = [ - ":chromeos_export", - "//base", - ] - sources = [ - "tools/variable_expander.cc", - "tools/variable_expander.h", + "constants/chromeos_constants.cc", + "constants/chromeos_constants.h", + "constants/chromeos_features.cc", + "constants/chromeos_features.h", + "constants/chromeos_paths.cc", + "constants/chromeos_paths.h", + "constants/chromeos_pref_names.cc", + "constants/chromeos_pref_names.h", + "constants/chromeos_switches.cc", + "constants/chromeos_switches.h", + "constants/devicetype.cc", + "constants/devicetype.h", ] } @@ -246,63 +140,32 @@ static_library("test_support") { source_set("test_support_source_set") { testonly = true public_deps = [ - ":attestation_proto", - ":biod_proto", ":chromeos", - ":cryptohome_proto", - ":power_manager_proto", - "//chromeos/dbus:test_support", + ":test_utils", ] deps = [ - "//components/account_id", + "//chromeos/attestation:test_support", + "//chromeos/cryptohome:test_support", + "//chromeos/dbus:test_support", + "//chromeos/disks:test_support", + "//chromeos/login/auth:test_support", + "//chromeos/login/login_state:test_support", + "//chromeos/network: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", - "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 - public_deps = [ - "//chromeos/dbus", +source_set("test_utils") { + deps = [ + "//base", + ] + sources = [ + "test/chromeos_test_utils.cc", + "test/chromeos_test_utils.h", ] } @@ -312,32 +175,32 @@ test("chromeos_unittests") { "//build/config/linux/nss:system_nss_no_ssl_config", ] deps = [ - ":attestation_proto", - ":authpolicy_proto", - ":biod_proto", - ":cryptohome_proto", - ":oobe_config_proto", - ":power_manager_proto", + ":chromeos_buildflags", ":test_support", - ":test_support_without_gmock", "//base/test:test_support", + "//chromeos/attestation:unit_tests", + "//chromeos/audio:unit_tests", "//chromeos/cryptohome:unit_tests", + "//chromeos/dbus:test_support", "//chromeos/dbus:unit_tests", - "//chromeos/login:unit_tests", + "//chromeos/dbus/services:unit_tests", + "//chromeos/disks:unit_tests", + "//chromeos/geolocation:unit_tests", + "//chromeos/login/auth:unit_tests", + "//chromeos/login/login_state:unit_tests", + "//chromeos/network:test_support", "//chromeos/network:unit_tests", "//chromeos/services:unit_tests", "//chromeos/settings:unit_tests", - "//components/account_id", + "//chromeos/timezone:unit_tests", + "//chromeos/tpm:unit_tests", "//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", @@ -351,13 +214,6 @@ test("chromeos_unittests") { 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", - "disks/disk_mount_manager_unittest.cc", - "disks/disk_unittest.cc", - "disks/suspend_unmount_manager_unittest.cc", - "geolocation/simple_geolocation_unittest.cc", "policy/weekly_time/time_utils_unittest.cc", "policy/weekly_time/weekly_time_interval_unittest.cc", "policy/weekly_time/weekly_time_unittest.cc", @@ -368,13 +224,10 @@ test("chromeos_unittests") { "printing/printer_translator_unittest.cc", "process_proxy/process_output_watcher_unittest.cc", "process_proxy/process_proxy_unittest.cc", - "run_all_unittests.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", + "test/run_all_unittests.cc", ] data = [ @@ -386,8 +239,8 @@ test("chromeos_unittests") { # 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") { +if (is_cros_chrome_sdk) { + generate_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 @@ -395,10 +248,10 @@ if (is_chromeos_chrome) { deploy_chrome = true } - # The sanity test's actual binary is baked into the vm image. All we need to + # The sanity test's actual binary is baked into the OS 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") { + generate_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" @@ -421,10 +274,19 @@ if (is_chromeos_chrome) { # Tast test sources live in the Chromium OS repository. # To diagnose tast failures or disable tests, see go/tast-failures tast_test("chrome_all_tast_tests") { - tast_conditional = "(!disabled && !\"group:*\" && !informational" + - " && (\"dep:chrome\" || \"dep:chrome_login\")" + - # Disabled due to flake. https://crbug.com/909736 - " && !\"name:ui.MashLogin\")" + tast_disabled_tests = [ + # Disabled due to flake. https://crbug.com/909736 + "ui.MashLogin", + ] + } + tast_test("chrome_kevin_tast_tests") { + # Tests that fail on Kevin devices. + tast_disabled_tests = [ + # Disabled due to misleading USE flags on full boards. crbug.com/916367 + "arc.Boot", + "security.NetworkListenersARC", + "video.WebRTCPeerConnCameraVP8", # crbug.com/923061 + ] } group("cros_chrome_deploy") { @@ -448,148 +310,6 @@ if (is_chromeos_chrome) { } } -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", |