# Copyright 2017 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 = "peridot_lib_unittests"

  deps = [
    "//third_party/googletest:gtest_main",
    "//peridot/lib/cobalt:unittests",
    "//peridot/lib/convert:unittests",
    "//peridot/lib/fidl:unittests",
    "//peridot/lib/firebase:unittests",
    "//peridot/lib/firebase_auth:unittests",
    "//peridot/lib/firebase_auth/testing:unittests",
    "//peridot/lib/ledger_client:unittests",
    "//peridot/lib/socket:unittests",
    "//peridot/lib/util:unittests",
  ]
}

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

  deps = [
    ":unittests",
  ]

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