# Copyright 2020 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.

import("//build/fuzz.gni")

group("drivers") {
  testonly = true
  deps = [
    "drivers/aml-canvas",
    "drivers/amlogic-display:amlogic-display-dfv1",
    "drivers/amlogic-display:amlogic-display-dfv2",
    "drivers/coordinator",
    "drivers/goldfish-display",
    "drivers/intel-i915",
    "drivers/simple:simple.bochs",
    "drivers/simple:simple.intel",
    "drivers/virtio-guest:virtio_gpu",
  ]
}

group("tools") {
  # Most bundle groupings in the Fuchsia build system are specified as testonly. As the build system
  # does not provide a way to specify "tools not intended for shipping to end users", we mark this
  # as `testonly` to achieve that purpose.
  testonly = true
  deps = [
    "bin/display-factory-test",
    "bin/display-png",
    "bin/display-tool",
    "bin/display-tweak",
  ]
}

group("tests") {
  testonly = true
  deps = [
    ":display-fuzzers",
    "bin/display-test:tests",
    "bin/display-tool:tests",
    "bin/display-tweak:tests",
    "drivers:tests",
    "lib:tests",
    "testing/fake-coordinator-connector:tests",
    "testing/software-compositor:tests",
  ]
}

fuchsia_fuzzer_component("edid-fuzzer-component") {
  manifest = "lib/edid/meta/edid-fuzzer.cml"
  deps = [ "lib/edid:edid-fuzzer" ]
}

fuchsia_fuzzer_package("display-fuzzers") {
  cpp_fuzzer_components = [ ":edid-fuzzer-component" ]
}
