# Copyright 2020 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.gni")

# [START imports]
import("//build/components.gni")

# [END imports]

# [START test]
test("test") {
  testonly = true
  output_name = "fidl_example_llcpp_test"
  sources = [ "main.cc" ]
  deps = [
    "//examples/fidl/fuchsia.examples:fuchsia.examples_llcpp",
    "//src/lib/fxl/test:gtest_main",
    "//third_party/googletest:gtest_main",
  ]
}

# [END test]

# [START package]
fuchsia_unittest_package("fidl-example-llcpp-test") {
  deps = [ ":test" ]
}

# [END package]

group("unittests") {
  testonly = true
  deps = [ ":fidl-example-llcpp-test" ]
}
