Pudu programming language
Menu
Package

@chrismichaelps / pudu-lang-resilience

Resilience pipelines for Pudu: retry, circuit breaker, timeout, fallback, hedging, rate limiting, and chaos injection

0.1.0Apache-2.01

InstallClose

TESTING.md

Markdown30 lines1.9 KB

GitHub ↗

Testing


type: architecture tags: [architecture, test] aliases: [Testing]


Every suite is a file under test/, mirroring the module it covers; pudu test test runs them all and each suite names its failed checks on stderr.

LevelSuitesWhat they prove
Domaintest/PuduLangResilience/Domain/**, test/PuduLangResilience/Utils/**every rule of the pure modules: delays, jitter, saturation, health windows, circuit transitions, permit queues, each limiter algorithm
Strategyone suite per strategy and core modulesuccess, handled and unhandled failures, cancellation, telemetry, validation bounds, on a manual clock and a fixed randomizer where time or chance matters
ConcurrencyLimiter/LimiterTest, HedgingTest, Utils/UtilsTestreal threads: queued waiters, eviction, cancellation while queued, losing attempts cancelled and joined, no lost updates
Packagetest/Package/LayoutTestevery shipped module is the root PuduLangResilience or under it, is named after its path, and agrees with the manifest
Vaulttest/Package/VaultTestthe vault mirrors src/ page for page, every page has a Grill Log, every exported function is in its page's signatures, every link resolves, and every page lists the pages linking to it
Integrationtest/Integration/PipelineScenarioTestevery strategy stacked in one pipeline, and their interactions
Examplesexamples/*.pudu, run by CIthe documented programs compile and answer 0
Mutation[[tools/Mutate]]the suites notice single-point changes to the pure layer

The mutation gate runs on pull requests over Domain/ with a threshold of 100: every valid mutant is killed (75 of 75 at the initial package). A mutant that cannot change behaviour is removed by simplifying the code rather than excused.

Referenced by

[[CHANGELOG]] · [[architecture/_MOC]] · [[handoffs/2026-09-28-initial-package]]