# 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")

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

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

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

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