[package]
authors.workspace = true
edition.workspace = true
homepage.workspace = true
license.workspace = true
name = "integration-test"
publish = false
repository.workspace = true
rust-version.workspace = true
version = "0.1.0"

[lints]
workspace = true

[dependencies]
anyhow = { workspace = true, features = ["std"] }
assert_matches = { workspace = true }
aya = { path = "../../aya", version = "^0.13.1", default-features = false }
aya-log = { path = "../../aya-log", version = "^0.2.1", default-features = false }
aya-obj = { path = "../../aya-obj", version = "^0.2.1", default-features = false }
env_logger = { workspace = true }
epoll = { workspace = true }
futures = { workspace = true, features = ["std"] }
integration-common = { path = "../integration-common", features = ["user"] }
libc = { workspace = true }
log = { workspace = true }
netns-rs = { workspace = true }
object = { workspace = true, features = ["elf", "read_core", "std"] }
rand = { workspace = true, features = ["thread_rng"] }
rbpf = { workspace = true }
scopeguard = { workspace = true }
test-case = { workspace = true }
test-log = { workspace = true, features = ["log"] }
tokio = { workspace = true, features = ["macros", "rt-multi-thread", "time"] }
xdpilone = { workspace = true }

[build-dependencies]
anyhow = { workspace = true }
aya-build = { path = "../../aya-build" }
# TODO(https://github.com/rust-lang/cargo/issues/12375): this should be an artifact dependency, but
# it's not possible to tell cargo to use `-Z build-std` to build it. We cargo-in-cargo in the build
# script to build this, but we want to teach cargo about the dependecy so that cache invalidation
# works properly.
#
# Finally note that *any* usage of `artifact = ...` in *any* Cargo.toml in the workspace breaks
# workflows with stable cargo; stable cargo outright refuses to load manifests that use unstable
# features.
integration-ebpf = { path = "../integration-ebpf" }
xtask = { path = "../../xtask" }
