# Copyright 2019 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("//src/sys/build/components.gni")

group("test") {
  testonly = true
  deps = [
    ":tz_version_parrot_test",
    "//examples/intl/tz_version_parrot",
  ]
}

executable("tz_version_parrot_test_bin") {
  testonly = true
  output_name = "tz_version_parrot_test"

  sources = [ "tz_version_parrot_test.cc" ]

  deps = [
    "//examples/intl/tz_version_parrot",
    "//sdk/lib/sys/cpp/testing:integration",
    "//src/lib/fsl",
    "//src/lib/fxl",
    "//src/lib/fxl/test:gtest_main",
    "//third_party/googletest:gmock",
  ]
}

fuchsia_unittest_package("tz_version_parrot_test") {
  manifest = "meta/tz_version_parrot_test.cmx"
  deps = [ ":tz_version_parrot_test_bin" ]
}
