# 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/python/python_host_test.gni")

if (is_host) {
  python_host_test("sdk_common_unittests") {
    main_source = "sdk_common_unittest.py"
    sources = [ "sdk_common.py" ]
  }

  python_host_test("sdk_element_adapter_test") {
    main_source = "sdk_element_adapter_test.py"
    sources = [ "sdk_element_adapter.py" ]
  }
}

group("tests") {
  testonly = true

  deps = [
    ":sdk_common_unittests($host_toolchain)",
    ":sdk_element_adapter_test($host_toolchain)",
    "meta:tests($host_toolchain)",
    "tests",
    "tools/merge:merge_sdk_test($host_toolchain)",
  ]
}
