# 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.
#
# WARNING: This file was machine-generated from previous json files and
# will eventually be deleted.

# DO NOT ADD TO THIS GROUP.
# DO NOT ADD TO THIS FILE.
# All new tests and test groups should be located in their appropriate area
# under //src and roll up to //src:tests. This group must only shrink.
group("all") {
  testonly = true
  public_deps = [
    ":scenic",
    ":zircon",
    "//build/tools/json_merge:json_merge_test($host_toolchain)",
    "//examples/intl/tz_version_parrot:tests",
    "//garnet/bin/catapult_converter:catapult_converter_tests($host_toolchain)",
    "//garnet/bin/chrealm/integration_tests:chrealm_integrationtests",
    "//garnet/bin/chrealm/integration_tests:chrealm_test_get_message",
    "//garnet/bin/cpuperf/print/tests:cpuperf_raw_printer_test($host_toolchain)",
    "//garnet/bin/cpuperf/tests:cpuperf_tests",
    "//garnet/bin/cpuperf_provider:cpuperf_provider_tests",
    "//garnet/bin/cpuperf_provider:cpuperf_provider_tests",
    "//garnet/bin/glob",
    "//garnet/bin/http:http_service_tests",
    "//garnet/bin/http/tests/manual/mwget",
    "//garnet/bin/hwstress:tests",
    "//garnet/bin/insntrace/tests",
    "//garnet/bin/ktrace_provider:ktrace_provider_tests",
    "//garnet/bin/log_listener:log_listener_tests",
    "//garnet/bin/network_time:network_time_tests",
    "//garnet/bin/network_time/test:system_time_updater_test",
    "//garnet/bin/odu:odu_tests",
    "//garnet/bin/odu:odu_tests($host_toolchain)",
    "//garnet/bin/perfcompare:tests",
    "//garnet/bin/power_manager:power_manager_tests",
    "//garnet/bin/power_manager/rkf45:rkf45_tests",
    "//garnet/bin/run/test:run_test_exiter",
    "//garnet/bin/run/test:run_tests",
    "//garnet/bin/run_test_component:tests",
    "//garnet/bin/sched:tests",
    "//garnet/bin/scpi:scpi_server_tests",
    "//garnet/bin/setui:tests",
    "//garnet/bin/setui_client:tests",
    "//garnet/bin/sl4f:tests",
    "//garnet/bin/sshd-host:sshd-host-tests",
    "//garnet/bin/stash_ctl:stash_ctl_tests",
    "//garnet/bin/sysmem_connector:sysmem_connector_test",
    "//garnet/bin/sysmgr",
    "//garnet/bin/sysmgr/integration_tests",
    "//garnet/bin/sysmgr/test:sysmgr_tests",
    "//garnet/bin/terminal:tests",
    "//garnet/bin/timezone/test:timezone_tests",
    "//garnet/bin/trace/tests:trace_tests",
    "//garnet/bin/trace2json:trace2json_tests($host_toolchain)",
    "//garnet/bin/trace_manager/tests:trace_manager_tests",
    "//garnet/bin/trace_stress",
    "//garnet/bin/traceutil:zedmon_test($host_toolchain)",
    "//garnet/bin/vsock_service:vsock_service-tests",
    "//garnet/bin/wayland:wayland_tests",
    "//garnet/examples/intl/manager:tests",
    "//garnet/examples/intl/wisdom:tests",
    "//garnet/go/src/benchmarking:go_benchmarking_tests",
    "//garnet/go/src/device_settings:device_settings_gotests",
    "//garnet/go/src/far:go_far_tests",
    "//garnet/go/src/go-tuf:go_tuf_host_tests($host_toolchain)",
    "//garnet/go/src/go-tuf:go_tuf_tests",
    "//garnet/go/src/inspect:go_inspect_tests",
    "//garnet/go/src/merkle:go_merkle_tests",
    "//garnet/go/src/sse:sse_test($host_toolchain)",
    "//garnet/go/src/thinfs:go_thinfs_tests",
    "//garnet/lib/perfmon:tests",
    "//garnet/lib/process:process_unittests",
    "//garnet/lib/profiler/tests:profiler_tests",
    "//garnet/lib/rust/connectivity-testing:connectivity-testing-tests",
    "//garnet/lib/rust/escaped-cstring:escaped-cstring-tests",
    "//garnet/lib/rust/files_async:files_async_tests",
    "//garnet/lib/rust/httpdate-hyper:httpdate-hyper-tests",
    "//garnet/lib/rust/io_util:io_util_tests",
    "//garnet/lib/rust/netfilter:netfilter_tests",
    "//garnet/lib/rust/sysconfig-client:sysconfig-client-test",
    "//garnet/lib/rust/webpki-roots-fuchsia:webpki-roots-fuchsia_tests",
    "//garnet/lib/trace_converters:trace_converter_tests",
    "//garnet/public/lib/fostr:tests_package",
    "//garnet/public/rust:rust-crates-tests",
    "//garnet/public/rust/fuchsia-bootfs:fuchsia-bootfs-tests",
    "//garnet/public/rust/fuchsia-hyper:fuchsia-hyper-tests",
    "//garnet/tests/acts_tests",
    "//garnet/tests/fdio_spawn:fdio_spawn_tests",
    "//sdk/lib/fuzzing/cpp:fuzz_input_unittests($host_toolchain)",
    "//sdk/lib/fuzzing/cpp:fuzzing_traits_tests",
    "//sdk/lib/inspect/contrib/cpp:tests",
    "//sdk/lib/inspect/service/cpp/tests:inspect_service_cpp_tests",
    "//sdk/lib/svc:svc_tests",
    "//sdk/lib/sys/cpp/testing/examples:component_context_provider_example_test",
    "//sdk/lib/sys/cpp/testing/examples:component_context_provider_example_test",
    "//sdk/lib/sys/cpp/testing/examples/test_with_environment:test_with_environment_example_test",
    "//sdk/lib/sys/cpp/tests:component_cpp_tests",
    "//sdk/lib/sys/inspect/cpp/tests:sys_inspect_cpp_tests",
    "//sdk/lib/sys/service/cpp:sys_service_tests",
    "//sdk/lib/syslog/cpp:logging-cpp-tests",
    "//sdk/lib/syslog/cpp:logging_cpp_unittests($host_toolchain)",
    "//sdk/lib/syslog/streams/cpp:tests",
    "//sdk/lib/ui/scenic/cpp/tests:scenic_cpp_tests",
    "//sdk/lib/vfs/cpp:vfs_cpp_tests",
    "//sdk/lib/virtualization:virtualization_lib_tests",
    "//sdk/testing/sl4f/client:tests",
    "//src/cobalt/bin:cobalt_tests",
    "//src/connectivity/bluetooth:tests",
    "//src/connectivity/network/netstack:tests",
    "//src/connectivity/network/testing/netemul:tests",
    "//src/connectivity/telephony:tests",
    "//src/connectivity/telephony/lib/qmi-protocol:tests",
    "//src/connectivity/wlan/drivers/third_party/atheros/ath10k:ath10k_test",
    "//src/developer/debug/debug_agent:debug_agent_tests",
    "//src/developer/debug/zxdb:zxdb_tests($host_toolchain)",
    "//src/developer/memory/metrics/tests",
    "//src/developer/memory/monitor/tests",
    "//src/developer/system_monitor/bin/dockyard_host/tests:dockyard_host_test($host_toolchain)",
    "//src/developer/system_monitor/bin/harvester:system_monitor_harvester_tests",
    "//src/developer/system_monitor/lib:tests($host_toolchain)",
    "//src/fonts:tests",
    "//src/graphics:tests",
    "//src/graphics/tests:vulkan-tests",
    "//src/graphics/tests/benchmark:vulkan-benchmark",
    "//src/graphics/tests/vkvalidation:test-vk-validation",
    "//src/lib/containers/cpp:containers_cpp_tests",
    "//src/lib/containers/cpp:containers_cpp_unittests($host_toolchain)",
    "//src/lib/fsl:fsl_tests",
    "//src/lib/fuchsia-async:fuchsia-async-tests",
    "//src/lib/fuchsia-component/component-launching-test:component-launching-tests",
    "//src/lib/fuchsia-component/isolated_component_test:fuchsia_component_test_inner",
    "//src/lib/fuchsia-component/isolated_component_test:fuchsia_component_test_middle",
    "//src/lib/fuchsia-component/isolated_component_test:fuchsia_component_test_middle_sibling",
    "//src/lib/fuchsia-component/isolated_component_test:fuchsia_component_test_outer",
    "//src/lib/fxl:fxl_tests",
    "//src/lib/fxl:fxl_unittests($host_toolchain)",
    "//src/lib/inspect/rust:tests",
    "//src/lib/intl:tests",
    "//src/lib/pkg_url:pkg_url_unittests",
    "//src/lib/ui/base_view:base_view_unittests",
    "//src/lib/url:url_tests",
    "//src/lib/uuid:uuid_tests",
    "//src/lib/vulkan:loader_and_validation_tests",
    "//src/lib/zircon/rust:fuchsia-zircon-tests",
    "//src/power:tests",
    "//src/sys/appmgr",
    "//src/sys/appmgr:appmgr_scheme_config",
    "//src/sys/device_settings:device_settings_manager",
    "//src/ui/a11y/bundles:tests",
    "//src/ui/bin/default_hardware_ime:default_hardware_ime",
    "//src/ui/bin/default_hardware_ime:default_hardware_ime_tests",
    "//src/ui/bin/ime:tests",
    "//src/ui/bin/shortcut:tests",
    "//src/ui/examples/escher/test:escher_examples_test($host_toolchain)",
    "//src/ui/lib/escher:escher_tests",
    "//src/ui/lib/escher/test:escher_renderer_tests($host_toolchain)",
    "//src/ui/lib/escher/test:escher_unittests($host_toolchain)",
    "//src/ui/testing/text:text_test_suite",
    "//src/ui/testing/text:text_test_suite_tests",
    "//src/ui/tests/e2e_input_tests",
    "//src/ui/tools/tiles:tiles_tests",
    "//src/virtualization/bin/guest_manager:guest_manager_tests",
    "//src/virtualization/bin/vmm:vmm_tests",
    "//src/virtualization/bin/vmm/device:virtio_magma_mock_system",
    "//src/virtualization/lib/grpc:grpc_vsock_tests",
    "//src/virtualization/lib/guest_interaction:tests",
    "//src/virtualization/lib/vsh:vsh_tests",
    "//src/virtualization/packages/biscotti_guest/linux_runner:linux_runner_tests",
    "//src/virtualization/tests",
    "//third_party/asio:asio_unittests",
    "//third_party/boringssl:boringssl_fuzzers",
    "//third_party/boringssl:boringssl_tests",
    "//third_party/go:go_stdlib_tests",
    "//third_party/libc-tests:nacl-libc-tests",
    "//tools/whereiscl:whereiscl_test($host_toolchain)",
  ]
  if (target_cpu == "arm64") {
    public_deps += [ "//garnet/bin/thermd:thermd_tests_package" ]
  }
}

# WARNING: Known to topaz.
group("scenic") {
  testonly = true
  public_deps = [
    "//garnet/bin/ui/benchmarks/image_grid_cpp",
    "//garnet/bin/ui/benchmarks/transparency_benchmark",
    "//garnet/packages/examples:scenic",
    "//garnet/packages/prod:scenic",
    "//src/ui/scenic:tests",
  ]
}

group("zircon") {
  testonly = true
  public_deps = [ "//garnet/tests/zircon:zircon_fuzzers" ]
}
