# 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("ctor") {
  output_name = "ctor-test"
  configs += [ "//build/unification/config:zircon-migrated" ]
  sources = [ "ctor.cc" ]
  deps = [
    ":dso-ctor",
    "//sdk/lib/fdio",
    "//zircon/system/ulib/unittest",
  ]
}

shared_library("dso-ctor") {
  testonly = true
  configs += [ "//build/unification/config:zircon-migrated" ]
  visibility = [ ":*" ]
  sources = [ "dso-ctor/dso-ctor.cc" ]
  deps = [ "//zircon/system/ulib/unittest" ]
}

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

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