# 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/json_parser: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("chrome_cleaner") { testonly = true # Make this target findable from the "all" target used by the builders. visibility += [ "//.:gn_all" ] deps = [ ":chrome_cleaner_unittests", "//chrome/chrome_cleaner/executables:chrome_cleanup_tool", "//chrome/chrome_cleaner/executables:software_reporter_tool", ] if (is_internal_chrome_cleaner_build) { deps += [ "${chrome_cleaner_internal_root}:build_targets", "${chrome_cleaner_internal_root}:test_targets", ] } }