chromium/services/service_manager/tests/lifecycle/BUILD.gn

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

import("//mojo/public/tools/bindings/mojom.gni")
import("//services/service_manager/public/cpp/service_executable.gni")
import("//testing/test.gni")

source_set("lifecycle") {
  testonly = true
  sources = [ "lifecycle_unittest.cc" ]
  deps = [
    ":interfaces",
    "//base",
    "//base/test:test_support",
    "//services/service_manager/public/cpp",
    "//services/service_manager/public/cpp/test:test_support",
    "//services/service_manager/public/mojom",
    "//testing/gtest",
  ]

  data_deps = [
    ":lifecycle_unittest_app",
    ":lifecycle_unittest_package",
    ":lifecycle_unittest_parent",
  ]
}

mojom("interfaces") {
  testonly = true
  sources = [ "lifecycle.test-mojom" ]
}

source_set("app_client") {
  testonly = true
  sources = [
    "app_client.cc",
    "app_client.h",
  ]
  deps = [
    ":interfaces",
    "//base",
    "//services/service_manager/public/cpp",
    "//services/service_manager/public/mojom",
  ]
}

service_executable("lifecycle_unittest_package") {
  testonly = true
  sources = [ "package.cc" ]
  deps = [
    ":app_client",
    ":interfaces",
    "//base",
    "//services/service_manager/public/cpp",
    "//services/service_manager/public/mojom",
  ]
}

service_executable("lifecycle_unittest_app") {
  testonly = true
  sources = [ "app.cc" ]
  deps = [
    ":app_client",
    ":interfaces",
    "//base",
    "//services/service_manager/public/cpp",
  ]
}

service_executable("lifecycle_unittest_parent") {
  testonly = true
  sources = [ "parent.cc" ]
  deps = [
    ":interfaces",
    "//base",
    "//services/service_manager/public/cpp",
  ]
}