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

group("ui") {
  deps = [
    "carnelian",
    "input-synthesis",
    "scenic/cpp",
  ]
}

group("tests") {
  testonly = true
  public_deps = [
    ":rust-ui-crates-tests",
    "carnelian:carnelian-tests",
    "fuchsia-framebuffer:fuchsia-framebuffer-tests",
    "input:tests",
    "input-synthesis:input-synthesis-tests",
  ]
}

unittest_package("rust-ui-crates-tests") {
  deps = [ "fuchsia-scenic:fuchsia-scenic_test" ]

  tests = [
    {
      name = "fuchsia_scenic_lib_test"
      environments = basic_envs
    },
  ]
}
