# Copyright 2016 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("libc-tests") {
  testonly = true
  deps = [
    ":libc-large-tests",
    ":libc-tests-broken",
    ":tests",
  ]
}

executable("tests") {
  output_name = "libc-tests"
  testonly = true
  sources = [
    "main.cc",
  ]
  deps = [
    "third_party/nacl-ported-tests/abi:small_tests",
    "third_party/nacl-ported-tests/bigalloc:small_tests",
    "third_party/nacl-ported-tests/dup:small_tests",
    "third_party/nacl-ported-tests/dynamic_linking:small_tests",
    "third_party/nacl-ported-tests/fdopen_test:small_tests",
    "third_party/nacl-ported-tests/file:small_tests",
    "third_party/nacl-ported-tests/libc:small_tests",
    "third_party/nacl-ported-tests/longjmp:small_tests",
    "third_party/nacl-ported-tests/math:small_tests",
    "third_party/nacl-ported-tests/nanosleep:small_tests",
    "third_party/nacl-ported-tests/pwrite:small_tests",
    "third_party/nacl-ported-tests/redir:small_tests",
    "third_party/nacl-ported-tests/sleep:small_tests",
    "third_party/nacl-ported-tests/stdargs:small_tests",
    "third_party/nacl-ported-tests/syscalls:small_tests",
    "third_party/nacl-ported-tests/threads:small_tests",
    "third_party/nacl-ported-tests/tls:small_tests",
    "//third_party/gtest",
  ]
}

executable("libc-tests-broken") {
  testonly = true
  sources = [
    "main.cc",
  ]
  deps = [
    "third_party/nacl-ported-tests/libc:small_tests_broken",
    "third_party/nacl-ported-tests/syscalls:small_tests_broken",
    "third_party/nacl-ported-tests/threads:large_tests_broken",
    "third_party/nacl-ported-tests/threads:small_tests_broken",
    "//third_party/gtest",
  ]
}

executable("libc-large-tests") {
  testonly = true
  sources = [
    "main.cc",
  ]
  deps = [
    "third_party/nacl-ported-tests/libc:large_tests",
    "//third_party/gtest",
  ]
}
