# 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",
    "story_shells",
  ]
}

# 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",
  ]
}

# 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",
    "story_shells:dart_unittests",
  ]
}
