[package]
name = "nextest-runner"
description = "Core runner logic for cargo nextest."
version = "0.27.0"
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/nextest-rs/nextest"
documentation = "https://docs.rs/nextest-runner"
edition = "2021"
rust-version = "1.62"

[dependencies]
atomicwrites = "0.3.1"
aho-corasick = "0.7.19"
async-scoped = { version = "0.7.0", features = ["use-tokio"] }
bytes = "1.2.1"
camino = { version = "1.1.1", features = ["serde1"] }
config = { version = "0.13.2", default-features = false, features = ["toml"] }
cargo_metadata = "0.14.2"
cfg-if = "1.0.0"
chrono = "0.4.22"
debug-ignore = "1.0.3"
either = "1.8.0"
futures = "0.3.24"
guppy = "0.14.3"
# Used to find the cargo root directory, which is needed in case the user has
# added a config.toml there
home = "0.5.4"
http = "0.2.8"
humantime-serde = "1.1.1"
indent_write = "2.2.0"
indicatif = "0.17.1"
is_ci = "1.1.1"
itertools = "0.10.5"
log = "0.4.17"
rand = "0.8.5"
once_cell = "1.15.0"
owo-colors = "3.5.0"
num_cpus = "1.13.1"
regex = "1.6.0"
semver = "1.0.14"
serde = { version = "1.0.145", features = ["derive"] }
serde_json = "1.0.86"
serde_path_to_error = "0.1.8"
shell-words = "1.1.0"
strip-ansi-escapes = "0.1.1"
tar = "0.4.38"
# For cfg expression evaluation for [target.'cfg()'] expressions
target-spec = "1.2.0"
tempfile = "3.3.0"
thiserror = "1.0.37"
# For parsing of .cargo/config.toml files
tokio = { version = "1.21.1", features = [
    "io-util",
    "macros",
    "process",
    "rt",
    "rt-multi-thread",
    "signal",
    "sync",
    "time",
] }
toml_edit = { version = "0.14.4", features = ["easy"] }
twox-hash = { version = "1.6.3", default-features = false }
zstd = { version = "0.11.2", features = ["zstdmt"] }

###
### Update-related features, optionally enabled
###
mukti-metadata = { version = "0.1.0", optional = true }
# TODO: remove dependency on self_update, build our own thing on top of mukti
self_update = { version = "0.32.0", optional = true, default-features = false, features = [
    "archive-tar",
    "compression-flate2",
    "rustls",
] }

nextest-filtering = { version = "0.2.1", path = "../nextest-filtering" }
nextest-metadata = { version = "0.6.0", path = "../nextest-metadata" }
quick-junit = { version = "0.3.0", path = "../quick-junit" }
uuid = { version = "1.1.2", features = ["v4"] }
nextest-workspace-hack = { version = "0.1", path = "../workspace-hack" }

[target.'cfg(unix)'.dependencies]
libc = "0.2.135"

[target.'cfg(windows)'.dependencies]
windows = { version = "0.42.0", features = [
    "Win32_Foundation",
    "Win32_System_Console",
    "Win32_System_JobObjects",
] }
win32job = "1.0.2"

[dev-dependencies]
color-eyre = { version = "0.6.2", default-features = false }
duct = "0.13.5"
indoc = "1.0.7"
maplit = "1.0.2"
pathdiff = { version = "0.2.1", features = ["camino"] }
pretty_assertions = "1.3.0"
proptest = "1.0.0"
proptest-derive = "0.3.0"
test-case = "2.2.2"


[[bin]]
name = "passthrough"
path = "test-helpers/passthrough.rs"

[features]
self-update = ["self_update", "mukti-metadata"]
