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

dart_test("screen_is_not_black_test") {
  sources = [
    "screen_is_not_black_test.dart",
  ]

  deps = [
    "//sdk/testing/sl4f/client",
    "//third_party/dart-pkg/pub/image",
    "//third_party/dart-pkg/pub/matcher",
    "//third_party/dart-pkg/pub/test",
  ]

  _untagged_envs = [
    nuc_env,
    astro_env,
  ]
  environments = []
  foreach(env, _untagged_envs) {
    if (!defined(env.tags)) {
      env.tags = []
    }
    env.tags += [ "e2e-terminal" ]
    environments += [ env ]
  }
}

group("test") {
  testonly = true

  deps = [
    ":screen_is_not_black_test($host_toolchain)",
  ]
}
