# 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",
    "rolldice",
    "speech",
    "//examples/components/basic:components_basic_example",
    "//examples/components/routing:components_routing_example",
    "//examples/rust/staticlib:crust",
  ]
}

group("tests") {
  testonly = true
  data_deps = [
    #"fuzzer:tests",
    "hello_world:tests",
    "isolated_cache:tests",
    "rolldice:rolldice-tests",
    "rust/inspect-rs:inspect_example_rs_tests",
    "rust/rust_static_linking:static_linking_tests",
  ]
}
