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

config("integer-paranoia") {
  visibility = [ ":*" ]
  cflags = [
    "-fsanitize=integer-divide-by-zero,signed-integer-overflow",
    "-fsanitize-undefined-trap-on-error",
  ]
}

test("compiler") {
  output_name = "compiler-test"
  sources = [
    "integer.cc",
    "no-unique-address.cc",
  ]
  configs += [ ":integer-paranoia" ]
  deps = [
    "//sdk/lib/fdio",
    "//zircon/system/ulib/zxtest",
  ]
}

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

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