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

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