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
stable
and 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).