| # Copyright 2018 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/buildflag_header.gni") |
| import("//chrome/chrome_cleaner/chrome_cleaner_args.gni") |
| import("//testing/test.gni") |
| |
| # Nothing outside //chrome/chrome_cleaner can depend on these targets. |
| visibility = [ "//chrome/chrome_cleaner/*" ] |
| |
| # Generate a buildflag header so code can check is_official_chrome_cleaner_build. |
| buildflag_header("buildflags") { |
| header = "buildflags.h" |
| flags = [ |
| "IS_INTERNAL_CHROME_CLEANER_BUILD=$is_internal_chrome_cleaner_build", |
| "IS_OFFICIAL_CHROME_CLEANER_BUILD=$is_official_chrome_cleaner_build", |
| ] |
| } |
| |
| group("engine_definitions") { |
| if (is_internal_chrome_cleaner_build) { |
| deps = [ "${chrome_cleaner_internal_root}:engine_definitions" ] |
| } else { |
| deps = [ |
| "//chrome/chrome_cleaner/engines/common:dummy_engine_resources", |
| "//chrome/chrome_cleaner/settings:dummy_engine_settings", |
| ] |
| } |
| } |
| |
| group("engine_target_factory") { |
| if (is_internal_chrome_cleaner_build) { |
| deps = [ "${chrome_cleaner_internal_root}:engine_target_factory" ] |
| } else { |
| deps = [ |
| "//chrome/chrome_cleaner/engines/target:dummy_engine_delegate_factory", |
| ] |
| } |
| } |
| |
| # This library should only be included in executable targets. It contains |
| # definitions used by the unit tests and misc helper binaries. The |
| # software_reporter_tool and chrome_cleanup_tool binaries will depend on |
| # specific reporter-only and cleaner-only versions of these definitions. |
| static_library("other_executable_definitions") { |
| testonly = true |
| |
| sources = [ |
| "//chrome/chrome_cleaner/logging/other_logging_definitions.cc", |
| "//chrome/chrome_cleaner/settings/other_settings_definitions.cc", |
| ] |
| |
| deps = [ |
| "//chrome/chrome_cleaner/logging:logging_definitions", |
| "//chrome/chrome_cleaner/logging:noop_logging", |
| "//chrome/chrome_cleaner/proto:shared_pup_enums_proto", |
| "//chrome/chrome_cleaner/settings:settings_definitions", |
| ] |
| } |
| |
| test("chrome_cleaner_unittests") { |
| sources = [ "//chrome/chrome_cleaner/test/test_main.cc" ] |
| |
| deps = [ |
| # Dependencies of the test harness. |
| ":engine_definitions", |
| ":engine_target_factory", |
| ":other_executable_definitions", |
| "//chrome/chrome_cleaner/os:common_os", |
| "//chrome/chrome_cleaner/test:test_util", |
| "//chrome/chrome_cleaner/test:test_uws_catalog", |
| |
| # Tests from sub-directories. |
| "//chrome/chrome_cleaner/chrome_utils:unittest_sources", |
| "//chrome/chrome_cleaner/components:unittest_sources", |
| "//chrome/chrome_cleaner/engines/broker:unittest_sources", |
| "//chrome/chrome_cleaner/engines/common:unittest_sources", |
| "//chrome/chrome_cleaner/engines/controllers:unittest_sources", |
| "//chrome/chrome_cleaner/engines/target:unittest_sources", |
| "//chrome/chrome_cleaner/http:unittest_sources", |
| "//chrome/chrome_cleaner/ipc:unittest_sources", |
| "//chrome/chrome_cleaner/logging:unittest_sources", |
| "//chrome/chrome_cleaner/mojom/typemaps:unittest_sources", |
| "//chrome/chrome_cleaner/os:unittest_sources", |
| "//chrome/chrome_cleaner/parsers/broker:unittest_sources", |
| "//chrome/chrome_cleaner/parsers/parser_utils:unittest_sources", |
| "//chrome/chrome_cleaner/parsers/shortcut_parser/broker:unittest_sources", |
| "//chrome/chrome_cleaner/parsers/shortcut_parser/target:unittest_sources", |
| "//chrome/chrome_cleaner/parsers/target:unittest_sources", |
| "//chrome/chrome_cleaner/pup_data:unittest_sources", |
| "//chrome/chrome_cleaner/scanner:unittest_sources", |
| "//chrome/chrome_cleaner/settings:unittest_sources", |
| "//chrome/chrome_cleaner/strings:unittest_sources", |
| "//chrome/chrome_cleaner/test:integration_test_sources", |
| "//chrome/chrome_cleaner/test:unittest_sources", |
| "//chrome/chrome_cleaner/ui:unittest_sources", |
| "//chrome/chrome_cleaner/zip_archiver:unittest_sources", |
| ] |
| |
| if (is_internal_chrome_cleaner_build) { |
| deps += [ |
| "${chrome_cleaner_internal_root}:integration_test_sources", |
| "${chrome_cleaner_internal_root}:unittest_sources", |
| ] |
| } |
| } |
| |
| group("shipped_binaries") { |
| # This group is used for network annotation check test. |
| visibility += [ "//.:shipped_binaries" ] |
| |
| deps = [ |
| "//chrome/chrome_cleaner/executables:chrome_cleanup_tool", |
| "//chrome/chrome_cleaner/executables:software_reporter_tool", |
| ] |
| } |
| |
| group("chrome_cleaner") { |
| testonly = true |
| |
| # Make this target findable from the "all" target used by the builders. |
| visibility += [ "//.:gn_all" ] |
| |
| deps = [ |
| ":chrome_cleaner_unittests", |
| ":shipped_binaries", |
| "//chrome/chrome_cleaner/tools:generate_test_uws", |
| ] |
| |
| if (is_internal_chrome_cleaner_build) { |
| deps += [ |
| "${chrome_cleaner_internal_root}:build_targets", |
| "${chrome_cleaner_internal_root}:test_targets", |
| ] |
| } |
| } |