# Copyright 2019 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/fuchsia_unittest_package.gni")

test("int-types") {
  output_name = "int-types-test"
  configs += [ "//build/unification/config:zircon-migrated" ]
  sources = [
    "int-types.c",
    "int-types.cc",
    "wchar-type.c",
    "wchar-type.cc",
  ]
  configs += [ ":config" ]
  deps = [
    "//sdk/lib/fdio",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/zxtest",
  ]
}

config("config") {
  visibility = [ ":*" ]

  # The C file here uses a macro to detect whether a type is signed, by
  # comparing the values of -1 and 0. This leads to complaints about
  # vacuously true comparisons, which we don't care about.
  cflags = [ "-Wno-type-limits" ]
}

fuchsia_unittest_package("int-types-test-pkg") {
  package_name = "int-types-test"
  deps = [ ":int-types" ]
}

group("tests") {
  testonly = true
  deps = [ ":int-types-test-pkg" ]
}
