Aeocha is a BDD-style test framework for Aether: nested suites, hooks, soft assertions, fluent expectations, timing helpers, and process and HTTP matchers.
import aeocha
import calc
main() {
fw = aeocha.init()
aeocha.describe(fw, "calculator") {
aeocha.it("adds two numbers") callback {
aeocha.expect_int(calc.add(2, 3)).to_equal(5)
}
}
aeocha.run_summary(fw)
}
The suite DSL follows Java's Cuppa, which was
itself inspired by Mocha. The fluent assertion API resembles AssertJ, Hamcrest,
and Chai; the one-shot within / without modifiers come from FluentSelenium.
- Getting started — install Aeocha and run a first test
- Core concepts — suites, context, hooks, failures, timing, and reporting
- Assertions and custom matchers — flat, fluent, collection, and extension APIs
- Integration testing — child processes, HTTP, and retry modifiers
- API reference — every exported type and function
- Executable self-test — working examples in one source file
The documents above are the user documentation. aeocha.ae remains the authoritative implementation; LLM.md and TODO.md are maintainer notes rather than user guides.
- Aether
aev0.494.0 or newer libpcre2-8only when usingexpect_stdout_matches_regex
An Aether module search directory must contain aeocha.ae. Clone or vendor the
repository, then point AETHER_LIB_DIR at it:
git clone https://github.com/aether-lang-org/aeocha.git /path/to/aeocha
export AETHER_LIB_DIR=/path/to/aeochaAETHER_LIB_DIR is a PATH-style list. You can alternatively pass the directory
with ae --lib. Continue with the Getting started guide.
Prefer an installed Aether release.
If no suitable ae is on PATH, bootstrap_aether.sh installs a private,
versioned toolchain under .aether/. It tries a prebuilt release first,
compile-probes it, and falls back to building the same release from source.
The script prints the PATH command needed to use it.
After editing aeocha.ae, clear Aether's stale import cache before testing:
rm -rf ~/.aether/cache
ae run example_self_test.aeIntegration checks are executable shell scripts under tests/integration/.
MIT. See LICENSE.