# 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/go/go_library.gni")
import("//build/go/go_test.gni")
import("//build/go/toolchain.gni")
import("//build/test/test_package.gni")
import("//build/testing/environments.gni")

go_library("syslog") {
  name = "syslog"
  deps = [
    "//src/lib/component/go/src/app($go_toolchain)",
    "//third_party/golibs:github.com/pkg/errors",
    "//zircon/system/fidl/fuchsia-logger($go_toolchain)",
  ]
}

go_test("syslog_test") {
  gopackages = [ "syslog" ]
  deps = [ ":syslog" ]
}

test_package("syslog_gotests") {
  deps = [ ":syslog_test" ]

  tests = [
    {
      name = "syslog_test"
      environments = [ qemu_env ]
    },
  ]
}

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