# 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
  deps = [
    ":tests",
    "bin",
    "examples",
    "session_shells",
    "settings",
  ]
}

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

  deps = [
    ":dart_target_tests",
    ":dart_unittests",
    "session_shells/ermine/session:tests",
  ]
}

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

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