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

test("ctor") {
  output_name = "ctor-test"
  sources = [ "ctor.cc" ]
  deps = [
    ":dso-ctor",
    "//sdk/lib/fdio",
    "//zircon/system/ulib/zxtest",
  ]
}

shared_library("dso-ctor") {
  testonly = true
  visibility = [ ":*" ]
  sources = [ "dso-ctor/dso-ctor.cc" ]
}

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

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