# 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/components.gni")
import("//build/rust/rustc_test.gni")

group("smoke") {
  testonly = true
  public_deps = [ ":font_provider_smoke_tests" ]
}

rustc_test("font_provider_smoke_tests_bin") {
  name = "font_provider_smoke_tests"
  edition = "2021"

  deps = [
    "//sdk/fidl/fuchsia.fonts:fuchsia.fonts-rustc",
    "//src/fonts/fidl_fuchsia_fonts_ext",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:futures",
  ]

  sources = [ "src/lib.rs" ]
}

fuchsia_component("font_provider_smoke_tests_cmp") {
  testonly = true
  manifest = "meta/font_provider_smoke_tests.cmx"
  component_name = "font_provider_smoke_tests"
  deps = [ ":font_provider_smoke_tests_bin" ]
}

fuchsia_test_package("font_provider_smoke_tests") {
  test_components = [ ":font_provider_smoke_tests_cmp" ]
}
