The current test coverage is a single test/rootbeer.lua smoke test. For a public release we need proper integration tests:
- Core primitives —
rb.file, rb.link_file, rb.link, rb.exec, rb.path_exists etc. should all have tests that run against a temp directory and verify the resulting filesystem state.
- Module tests — each stdlib module (zsh, git, ssh, brew, mac) should have at least one test that calls
.config() and asserts the generated file content is correct.
- Plan/execute tests — verify that dry-run produces the expected ops without side effects, and that apply actually creates files/links.
- Error cases — missing files, invalid config shapes, permission errors.
- Profile system — test
profile.config, profile.select, profile.when with various profile values.
Tests should be runnable via cargo test and not require any special system state.
The current test coverage is a single
test/rootbeer.luasmoke test. For a public release we need proper integration tests:rb.file,rb.link_file,rb.link,rb.exec,rb.path_existsetc. should all have tests that run against a temp directory and verify the resulting filesystem state..config()and asserts the generated file content is correct.profile.config,profile.select,profile.whenwith various profile values.Tests should be runnable via
cargo testand not require any special system state.