# Copyright 2018 The Fuchsia 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/test/test_package.gni")
import("//build/testing/environments.gni")

group("test") {
  testonly = true
  deps = [
    ":bin",
    ":run_test_component_test",
  ]
}

executable("bin") {
  testonly = true
  output_name = "run_test_component_test"

  sources = [
    "run_test_component_test.cc",
  ]

  deps = [
    "//src/lib/fxl",
    "//src/lib/fxl/test:gtest_main",
    "//third_party/googletest:gmock",
  ]
}

test_package("run_test_component_test") {
  deps = [
    ":bin",
  ]

  tests = [
    {
      name = "run_test_component_test"
      environments = basic_envs
    },
  ]
}
