embedded-test 0.7.2

A test harness and runner for embedded devices
Documentation
[package]
name = "embedded-test"
version = "0.7.2"
edition = "2021"
repository = "https://github.com/probe-rs/embedded-test"
license = "MIT OR Apache-2.0"
keywords = ["embedded", "test", "testing", "test-runner", "test-framework"]
description = "A test harness and runner for embedded devices"
categories = ["embedded", "no-std", "development-tools::testing"]

[package.metadata.docs.rs]
default-target = "riscv32imac-unknown-none-elf"

[dependencies]
embedded-test-macros = { version = "0.8.1", path = "./macros" }
embedded-test-linker-script = { version = "0.1.0", path = "linker-script" }
semihosting = { version = "0.1.7", features = ["args"], optional = true }
serde = { version = "1.0.193", default-features = false, features = ["derive"], optional = true }
serde_json = { version = "1.0.139", optional = true }
linkme = { version = "0.3.31", optional = true }

# Optional dependencies
defmt = { version = "1", optional = true }
log = { version = "0.4.20", optional = true }
embassy-executor-09 = { package = "embassy-executor", version = "0.9", optional = true, default-features = false }
embassy-executor-010 = { package = "embassy-executor", version = "0.10", optional = true, default-features = false }

[features]
default = ["semihosting", "panic-handler"]

# use semihosting (for embedded targets)
semihosting = ["dep:semihosting"]

# use std functionality
std = ["embedded-test-macros/std", "embedded-test-linker-script/std", "dep:linkme", "dep:serde", "dep:serde_json"]

# defines a panic-handler which will invoke `semihosting::process::abort()` on panic
panic-handler = []

# prints testcase exit result to defmt
defmt = ["dep:defmt"]

# prints testcase exit result to log
log = ["dep:log"]

# Enables async test and init functions using embassy-executor.
# Note: You need to enable at least one executor feature on embassy unless you are using the `external-executor` feature
embassy-09 = ["_embassy", "embedded-test-macros/embassy-09", "dep:embassy-executor-09"]
embassy-010 = ["_embassy", "embedded-test-macros/embassy-010", "dep:embassy-executor-010"]

# you will use your own executor by setting it via the `tasks` macro, e.g. `#[embedded_test::tests(executor = esp_hal::embassy::executor::thread::Executor::new())]`
external-executor = ["embedded-test-macros/external-executor"]

# Enables Ariel OS integration
ariel-os-09 = ["embedded-test-macros/ariel-os", "embedded-test-macros/embassy-09", "embassy-09", "_ariel"]
ariel-os-010 = ["embedded-test-macros/ariel-os", "embedded-test-macros/embassy-010", "embassy-010", "_ariel"]

# enables the xtensa-specific semihosting implementation
xtensa-semihosting = ["semihosting/openocd-semihosting"]

# Note: The following features are deprecated and will probably be removed in the future, use embassy-09/010 or ariel-os-09/010 instead
embassy = ["embassy-09"] # this feature will probably be removed in the future, use embassy-09 or embassy-010 instead
ariel-os = ["ariel-os-09"] # this feature will probably be removed in the future, use ariel-os-09 or ariel-os-010 instead

# Internal features
_embassy = [] # internal feature: any embassy version selected
_ariel = [] # internal feature: any ariel-os version selected