# 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("//build/testing/bootfs_test.gni")

test("race-tests") {
  output_name = "race-tests-test"
  configs += [ "//build/unification/config:zircon-migrated" ]
  sources = [ "race-tests.cc" ]
  deps = [
    "//sdk/lib/fdio",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/zxtest",
  ]
}

bootfs_test("race-tests-bootfs-test") {
  name = "race-tests-test"
  deps = [ ":race-tests" ]
}
