1.3 KiB
Contributing
tui is an ordinary Rust project where common tasks are managed with cargo-make. It wraps common
cargo commands with sane defaults depending on your platform of choice. Bulding the project should
be as easy as running cargo make.
Continous Integration
We use Github Actions for the CI where we perform the following checks:
- The code should compile on
stableand the Minimum Supported Rust Version (MSRV). - The tests (docs, lib, tests and examples) should pass.
- The code should conform to the default format enforced by
rustfmt. - The code should not contain common style issues
clippy.
You can also check most of those things yourself locally using cargo make ci which will offer you
a shorter feedback loop.
Tests
The test coverage of the crate is far from being ideal but we already have a fair amount of tests in
place. Beside the usal doc and unit tests, one of the most valuable test you can write for tui is
a test again the TestBackend which allows you to assert the content of the output buffer that
would have been flushed to the termminal after a given draw call (see widgets_block_renders in
tests/widgets_block.rs for an example).