Files
tines/tines-core/Cargo.toml
T
kyleandClaude Opus 5.5 4206e3f628 build(core): leave the fuzz twin out of the published package
tests/fuzz_twin.rs includes ../../fuzz/src/lib.rs, which the tines-core
package doesn't ship, so the published source carried a test that can't
build (S13, packaging). `cargo package --list` now omits it and the
packaged crate verifies; tests/vectors.rs still ships, since src/lib.rs
includes it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 08:44:09 -07:00

58 lines
2.3 KiB
TOML

[package]
name = "tines-core"
version = "1.0.0"
rust-version = "1.82.0"
edition.workspace = true
license.workspace = true
description = "Opportunistic shared memory for mostly-offline robots: a no_std core of content-addressed observations, gossip, and store-and-forward exchange."
authors.workspace = true
repository.workspace = true
readme.workspace = true
documentation = "https://docs.rs/tines-core"
keywords = ["robotics", "gossip", "delay-tolerant", "no-std", "sync"]
categories = ["no-std", "embedded", "network-programming", "science::robotics"]
# Test targets are listed by hand below: `tests/vectors.rs` is not one. It pins
# the wire format against the crate-private `Frame`, so `src/lib.rs` compiles
# it into the unit tests instead (`#[path = "../tests/vectors.rs"]`).
autotests = false
# The fuzz twin includes `../../fuzz/src/lib.rs`, which isn't in this package,
# so the published source would carry a test that can't build.
exclude = ["tests/fuzz_twin.rs"]
[features]
default = ["alloc"]
alloc = []
# A `no_std`-clean conformance suite ([`store_conformance`]) that concrete
# backends run against themselves to prove they honor the `Store` contract.
# Std-free so it builds with `--no-default-features`; enabled only by the
# backend crates that exercise the suite (MemStore, LogStore, CappedStore).
# It also turns on the `#[doc(hidden)]` `conformance` module, which gives the
# fuzz harness byte-level frame helpers and core's local limits.
conformance = []
[dependencies]
heapless = { version = "0.8", features = ["serde"] }
serde = { version = "1", default-features = false, features = ["derive"] }
postcard = { version = "1", default-features = false }
blake2 = { version = "0.10", default-features = false }
[dev-dependencies]
proptest = "1"
# The fuzz harness lives in `fuzz/` (outside this crate) but is compiled into
# the test suite via a `#[path]` module include to keep it the SAME harness.
# That source names `heapless` directly, so restate it here for the twin.
heapless = { version = "0.8", features = ["serde"] }
[[test]]
name = "pair"
[[test]]
name = "public_api"
# The proptest twin of the `fuzz/` harness builds frames through the hidden
# `conformance` helpers, so it runs only with that feature (as `scripts/ci.sh`
# does) and needs `MemStore` (`alloc`).
[[test]]
name = "fuzz_twin"
required-features = ["alloc", "conformance"]