# Copyright 2020 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/testing/host_test_data.gni")

if (is_host) {
  host_test_data("interpreter") {
    sources = [
      "//prebuilt/third_party/python3/${host_platform}/lib",
      python_exe_src,
    ]
  }

  host_test_data("pip") {
    sources = [
      "//prebuilt/third_party/python3/${host_platform}/lib",
      pip_exe_src,
    ]
  }

  group("host_tests") {
    testonly = true
    deps = [
      "tests/assembly:tests",
      "tests/bin",
      "tests/depfile:tests",
      "tests/host_test:py_host_test_with_lib",
      "tests/lib",
      "tests/serialization:tests",
    ]
  }
}

# These tests exercise the build rules we want to test.
group("tests") {
  testonly = true
  deps = [
    ":host_tests($host_toolchain)",
    "tests/bin",
    "tests/lib",
  ]
}
