Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ members = [
"integration/sheepdog",
"integration/ducks",
"lading",
"lading_antithesis",
"lading_capture_schema",
"lading_capture",
"lading_fuzz",
Expand Down Expand Up @@ -69,6 +70,7 @@ ddsketch-agent = { git = "https://github.com/DataDog/saluki", rev = "f47a7ef588c
datadog-protos = { git = "https://github.com/DataDog/saluki", rev = "f47a7ef588c53aa1da35dcfd93808595ebeb1291" }
protobuf = { version = "3.7" }
enum_dispatch = { version = "0.3" }
antithesis_sdk = { git = "https://github.com/antithesishq/antithesis-sdk-rust", rev = "78c9db56771f0f6b01cb5404765c5a96852c159c", default-features = false } # 0.2.8 is pinned to rand 0.8, rev version allows us to select workspace rand

[workspace.lints.clippy]
all = "deny"
Expand Down
26 changes: 26 additions & 0 deletions lading_antithesis/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[package]
name = "lading-antithesis"
version = "0.1.0"
authors = [
"Brian L. Troutwine <[email protected]>",
"George Hahn <[email protected]",
]
edition = "2024"
license = "MIT"
repository = "https://github.com/datadog/lading/"
keywords = ["random_test", "generator"]
categories = ["development-tools::profiling"]
description = "A tool for load testing daemons."

[features]
antithesis = ["dep:antithesis_sdk", "antithesis_sdk/full", "dep:serde_json"]

[dependencies]
antithesis_sdk = { workspace = true, optional = true }
serde_json = { workspace = true, optional = true }

[lib]
doctest = false

[lints]
workspace = true
15 changes: 15 additions & 0 deletions lading_antithesis/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# lading-antithesis

A thin facade over the [Antithesis](https://antithesis.com) Rust SDK for the
lading project. It owns the single `antithesis` cargo feature: with the feature
off (the default) every macro is a no-op that elides its arguments unevaluated,
so ordinary lading builds are unaffected; with it on, each macro forwards to the
underlying SDK macro.

Both lading's SUT bootstrap (`lading/src/antithesis_hooks.rs`) and the Antithesis
workload drivers under `antithesis/` reach the SDK through this crate, never
`antithesis_sdk` directly, so an assertion reads identically wherever it lives.
Comment on lines +9 to +11

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Describe the Antithesis integration as future work

A repo-wide search for antithesis_hooks, lading_antithesis, and SDK assertion usages finds no lading/src/antithesis_hooks.rs, no workload drivers, and no consumer of this facade outside its own crate and workspace metadata. This present-tense claim therefore documents an integration that does not exist in this commit; either add those consumers or describe them as planned usage so readers do not assume the SUT is already instrumented.

Useful? React with 👍 / 👎.


Prefer the numeric macros (`always_gt!`, `always_le!`, ...) over
`always!(x > y, ...)`: a more precise assertion gives Antithesis better
exploration.
Loading
Loading