# 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.

group("test") {
  testonly = true
  deps = [
    ":fzl",
    ":fzl-zxtest",
  ]
}

test("fzl-zxtest") {
  sources = [
    "pinned-vmo-tests.cpp",
    "vmo-pool-tests.cpp",
  ]
  deps = [
    "$zx/system/dev/lib/fake-bti",
    "$zx/system/fidl/fuchsia-io:c",
    "$zx/system/ulib/async",
    "$zx/system/ulib/async:async-cpp",
    "$zx/system/ulib/async:async-default",
    "$zx/system/ulib/async-loop",
    "$zx/system/ulib/async-loop:async-loop-cpp",
    "$zx/system/ulib/fbl",
    "$zx/system/ulib/fdio",
    "$zx/system/ulib/fzl",
    "$zx/system/ulib/memfs",
    "$zx/system/ulib/zircon",
    "$zx/system/ulib/zx",
    "$zx/system/ulib/zxtest",
  ]
}

test("fzl") {
  sources = [
    "fdio.cpp",
    "fzl-test.cpp",
    "memory_probe_tests.cpp",
    "owned-vmo-mapper-tests.cpp",
    "resizeable-vmo-mapper-tests.cpp",
    "vmo-probe.cpp",
    "vmo-vmar-tests.cpp",
  ]
  deps = [
    "$zx/system/fidl/fuchsia-io:c",
    "$zx/system/ulib/async",
    "$zx/system/ulib/async:async-cpp",
    "$zx/system/ulib/async:async-default",
    "$zx/system/ulib/async-loop",
    "$zx/system/ulib/async-loop:async-loop-cpp",
    "$zx/system/ulib/fbl",
    "$zx/system/ulib/fdio",
    "$zx/system/ulib/fzl",
    "$zx/system/ulib/memfs",
    "$zx/system/ulib/sync",
    "$zx/system/ulib/unittest",
    "$zx/system/ulib/zircon",
    "$zx/system/ulib/zx",
  ]
}
