# 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/package.gni")

executable("unittests") {
  testonly = true
  output_name = "garnet_lib_unittests"

  deps = [
    "//garnet/public/lib/backoff:unittests",
    "//garnet/public/lib/callback:unittests",
    "//garnet/public/lib/gtest:unittests",
    "//garnet/public/lib/network_wrapper:unittests",
    "//garnet/public/lib/test_runner/cpp:gtest_main",
  ]
}

package("garnet_lib_tests") {
  testonly = true
  deprecated_system_image = true

  deps = [
    ":unittests",
  ]

  tests = [
    {
      name = "garnet_lib_unittests"
    },
  ]
}
