chromium/chrome/updater/win/test/BUILD.gn

# Copyright 2019 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/util/process_version.gni")
import("//chrome/process_version_rc_template.gni")
import("//chrome/updater/branding.gni")
import("//testing/test.gni")

source_set("test_strings") {
  testonly = true

  sources = [
    "test_strings.cc",
    "test_strings.h",
  ]
}

source_set("test_common") {
  testonly = true

  sources = [
    "test_inheritable_event.cc",
    "test_inheritable_event.h",
    "test_initializer.cc",
    "test_initializer.h",
  ]

  deps = [
    "//base",
    "//chrome/updater:base",
    "//chrome/updater:constants_test",
  ]
}

source_set("test_executables") {
  testonly = true

  sources = [
    "test_executables.cc",
    "test_executables.h",
  ]

  deps = [
    ":test_common",
    ":test_strings",
    "//base",
    "//chrome/updater:base",
  ]
}

# `process_version_rc_template` invokes `process_version` with the default
# template rc file which is at //chrome/app/chrome_version.rc.version.
process_version_rc_template("version") {
  _internal_name = "$updater_product_full_display_name"
  extra_args = [
    "-e",
    "PRODUCT_FULLNAME=\"$updater_product_full_display_name\"",
    "-e",
    "INTERNAL_NAME=\"$updater_product_full_display_name\"",
    "-e",
    "ORIGINAL_FILENAME=\"updater_test_process.exe\"",
    "-e",
    "PRODUCT_SHORTNAME=\"$updater_product_full_name\"",
  ]
  output = "$target_gen_dir/updater_test_process.rc"
}

executable("updater_test_process") {
  testonly = true

  sources = [ "test_process_main.cc" ]

  deps = [
    ":test_common",
    ":test_strings",
    ":version",
    "//base",
    "//base/test:test_support",
    "//build/win:default_exe_manifest",
    "//chrome/updater:base",
    "//chrome/updater:constants_header",
  ]
}