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

group("tests") {
  testonly = true
  deps = [
    ":listnode-package",
    ":listnode-tests($host_toolchain)",
  ]
}

source_set("listnode") {
  sources = [ "listnode.h" ]
}

test("listnode-tests") {
  output_name = "listnode-tests"

  # listnode should work in both C and C++.
  sources = [
    "listnode-test.c",
    "listnode-test.cc",
  ]
  deps = [
    ":listnode",
    "//zircon/public/lib/zxtest",
  ]

  # TODO(fxbug.dev/58162): delete the below and fix compiler warnings
  configs += [ "//build/config:Wno-conversion" ]
}

fuchsia_unittest_package("listnode-package") {
  deps = [ ":listnode-tests" ]
}
