# 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.

group("experiences") {
  testonly = true
  public_deps = [
    "bin",
    "examples",
    "session_shells",
    "settings",
  ]
}

# All of the tests to run for the experiences repo
group("tests") {
  testonly = true

  public_deps = [
    ":dart_target_tests",
    ":dart_unittests",
    "bin/terminal_settings_agent:tests",
    "session_shells/ermine/session:tests",
  ]
}

# Dart tests which can run on target
group("dart_target_tests") {
  testonly = true
  public_deps = [ "bin:dart_target_tests" ]
}

# Dart unit tests which can run on the host or target
group("dart_unittests") {
  testonly = true
  public_deps = [
    "bin:dart_unittests",
    "examples:dart_unittests",
    "session_shells:dart_unittests",
    "settings:dart_unittests",
  ]
}
