Skip to content

Percona-Lab/stormweaver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StormWeaver

StormWeaver is a concurrent database testing tool inspired by PStress. It has two jobs: randomized concurrent stress testing to shake out synchronization/locking/memory bugs in the server, and stable, deterministic product tests you can run in CI. The core is C++23 (metadata/actions/workers/SQL), driven from free-threaded Python 3.14t scenarios via nanobind. PostgreSQL and MySQL (community, Percona Server, PXC) are supported.

Quickstart

First time on a machine: install Conan 2 and run conan profile detect (details: building docs). Then:

uv python install 3.14t
uv venv
uv pip install -e . --group dev

uv run stormweaver scenarios/ci/basic.py -i /path/to/postgres/install

Dev setup

task setup   # uv python install + venv + editable install + pre-commit hooks
task test    # C++ tests, python unit tests, and the basic scenario

See task --list for all targets (fmt, lint, tidy, cpp:build, ...).

Docs

Full documentation, including scenario writing, python actions, stable tests, and determinism guarantees, is at https://percona-lab.github.io/stormweaver/ (or browse docs/).

About

Concurrent database testing tool

Resources

License

Stars

1 star

Watchers

6 watching

Forks

Packages

 
 
 

Contributors