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

rustc_test("chromium-routing-test-bin") {
  name = "chromium_routing_test"
  source_root = "test.rs"
  edition = "2021"

  sources = [ "test.rs" ]
}

fuchsia_test_component("chromium-routing-test-cmp") {
  component_name = "chromium_routing_test"
  manifest = "meta/chromium_routing_test.cml"
  deps = [ ":chromium-routing-test-bin" ]
  test_type = "chromium"
}

fuchsia_test_package("chromium-routing-test") {
  test_components = [ ":chromium-routing-test-cmp" ]
}

group("tests") {
  testonly = true
  deps = [ ":chromium-routing-test" ]
}
