# Copyright 2018 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/test_package.gni")
import("//build/testing/environments.gni")

group("wayland") {
  testonly = true
  deps = [
    ":wayland_tests",
    "core",
    "protocols",
  ]
}

test_package("wayland_tests") {
  deps = [
    "core:tests",
    "scanner:tests",
  ]
  tests = [
    {
      name = "wayland_scanner_front_end_test_lib_test"
      environments = basic_envs
    },
    {
      name = "wayland_scanner_back_end_test_lib_test"
      environments = basic_envs
    },
    {
      name = "fuchsia_wayland_core_lib_test"
      environments = basic_envs
    },
  ]
}
