# Copyright 2021 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")

fuchsia_unittest_package("tests") {
  package_name = "tcpdump-integration-test"
  manifest = "meta/tcpdump-integration-test.cml"
  deps = [
    ":bin",

    # TCPDump is under test.
    "//third_party/tcpdump:bin",
  ]
}

rustc_test("bin") {
  output_name = "tcpdump_integration_test"
  deps = [
    "//src/lib/fdio/rust:fdio",
    "//src/lib/fuchsia",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-runtime",
    "//src/lib/zircon/rust:fuchsia-zircon",
    "//third_party/rust_crates:futures",
    "//third_party/rust_crates:libc",
  ]
  sources = [ "src/lib.rs" ]
  configs -= [ "//build/config/rust:allow_unused_results" ]
}
