Skip to content

Free-Rat/topotestix

Repository files navigation

TopoTestix

Environment-aware property-based testing framework for distributed systems, built on Nix and NixOS.

Instead of testing only application-level inputs, TopoTestix treats system configuration as a first-class test dimension. A fuzzer generates diverse NixOS VM configurations (network topology, resource limits, service versions) from a single seed, runs them as NixOS integration tests, and on failure shrinks the seed to find a minimal reproducing case.

Master Thesis for the master's programme in Computing, specializing in Distributed and Cloud Systems, at Poznań University of Technology.

Documentation

All design and planning documents live in docs/:

File Content
docs/idea.md Project motivation, core concepts (PBT, environment-aware testing, Nix as test generator), example property categories, and limitations
docs/architecture.md Module overview (fuzzer, expandTopology, runner, orchestrator), three-layer config composition, data flow, directory structure, and design principles
docs/plan.md Phased implementation plan from foundation through shrinking and scale
docs/testing.md How to run tests with nix-unit, test file conventions, and how to verify expected values

About

Environment-aware property-based testing framework for distributed systems, built on Nix and NixOS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors