[package]
publish = ["crates-io"]
name = "ic-testkit"
edition.workspace = true
rust-version.workspace = true
version.workspace = true
license.workspace = true
authors.workspace = true
description = "PocketIC-oriented test utilities for IC canister tests"
readme = "README.md"
homepage = "https://github.com/dragginzgame/ic-tooling"
repository.workspace = true
keywords = ["internet-computer", "canister", "dfinity", "icp", "testing"]
categories = ["development-tools::testing", "wasm"]
[[bin]]
name = "ic-testkit-server"
path = "src/bin/ic-testkit-server.rs"
required-features = ["cli"]
[features]
default = []
cli = ["dep:clap"]
reply-fixtures = ["ic-host-artifacts/wasm-encoding"]
held-reply-fixtures = ["reply-fixtures", "ic-host-artifacts/wasm-text"]
wire = ["dep:ic-wire", "dep:serde"]
[dependencies]
ic-platform = { workspace = true, features = ["principal"] }
[target.'cfg(all(unix, not(target_arch = "wasm32")))'.dependencies]
libc = { workspace = true }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
clap = { workspace = true, features = ["string"], optional = true }
ic-host-artifacts = { workspace = true, features = ["gzip"] }
ic-host-fs = { workspace = true }
ic-host-process = { workspace = true }
ic-platform = { workspace = true, features = ["pocket-ic", "candid", "management-canister-types"] }
ic-wire = { workspace = true, optional = true }
serde = { workspace = true, optional = true }
thiserror = { workspace = true }
tokio = { workspace = true, features = ["time"] }
[target.'cfg(target_arch = "wasm32")'.dependencies]
ic-platform = { workspace = true, features = ["ic0"] }
[target.'cfg(all(unix, not(target_arch = "wasm32")))'.dev-dependencies]
ic-host-fs = { workspace = true, features = ["test-support"] }
ic-host-process = { workspace = true, features = ["test-support"] }
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
clap = { workspace = true, features = ["string"] }
ic-host-artifacts = { workspace = true, features = ["wasm-validation"] }
serde_json = { workspace = true }
tokio = { workspace = true, features = ["net", "rt"] }
[[test]]
name = "server_runner"
required-features = ["cli"]
[lints]
workspace = true