# 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("examples") {
  testonly = true
  deps = [
    ":tests",
    "cowsay",
    "criterion_bench",
    "dotmatrix_display",
    "fortune",
    "fuzzer",
    "hello_world",
    "isolated_cache",
    "media",
    "rolldice",
    "speech",
    "//examples/components/basic:components_basic_example",
    "//examples/components/routing:components_routing_example",
  ]
}

group("tests") {
  testonly = true
  data_deps = [
    "fuzzer:tests",
    "hello_world:tests",
    "isolated_cache:tests",
    "media:tests",
    "rolldice:rolldice-tests",
    "rust_static_linking:static_linking_tests",
  ]
}
