# 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/components.gni")
import("//build/go/go_library.gni")
import("//build/go/go_test.gni")

go_library("merkle") {
  sources = [
    "merkle.go",
    "merkle_test.go",
  ]
}

go_test("go_merkle_test") {
  gopackages = [ "go.fuchsia.dev/fuchsia/src/sys/pkg/lib/merkle" ]

  deps = [ ":merkle" ]
}

fuchsia_unittest_package("go_merkle_tests") {
  deps = [ ":go_merkle_test" ]
}

group("tests") {
  testonly = true
  deps = [ ":go_merkle_tests" ]
}
