This patch refactors the test suite: - Instead of always generating the documentation with the available rustdoc version, we now store generated documentation for all supported rustdoc versions in the test/html directory. - Instead of using one snapshot per test case, we now use one snapshot per test case and rustdoc version.
3.1 KiB
Contributing to rusty-man
Project infrastructure
rusty-man is hosted on sourcehut.org and uses these services:
- git.sr.ht/~ireas/rusty-man: Git repository
- todo.sr.ht/~ireas/rusty-man: issue tracker
- lists.sr.ht/~ireas/rusty-man-dev: mailing list
- builds.sr.ht/~ireas/rusty-man: build server for continuous integration
How to contribute
Writing code
Have a look at the issues in rusty-man’s issue tracker, especially those with the label good first issue, to find an issue to work on.
Writing documentation
You can help by proofreading and extending the documentation in the readme file and the contributing and installation guides. Also, rusty-man is lacking a man page and a usage guide – contributions are welcome!
Testing
If you are using rusty-man and are encountering any issues, please let me know. I’m especially interested in reports from other operating systems than Linux. You can also help by writing unit tests, especially for the HTML documentation parser.
Submitting patches
Please submit patches by sending a mail to the mailing list ~ireas/rusty-man-dev@lists.sr.ht. There are three ways to do that:
- Use
git send-email
to send your patches. If you are not familiar with thegit send-email
workflow, have a look at this step-by-step guide or contact me for more information. - Or push your changes to a public repository, for example hosted on your own
Git server, sourcehut.org, Gitlab or GitHub, and use
git request-pull
to send a pull request to the mailing list. - If options one and two don’t work for you, just use your mail client to send a mail with a link to your changes and a short description to the mailing list.
Testing and checking the code
- rusty-man currently has very few unit tests. You can execute them using
cargo test --bins
, but make sure to generate rusty-man’s documentation withcargo doc
before running the tests! - rusty-man has an integration test suite that uses
insta
for snapshot testing. The test suite uses the documentation stored in thetests/html
directory (generated by different versions ofrustdoc
). If you set theRUSTY_MAN_GENERATE
environment variable, it will also usecargo doc
to generate the documentation. - Use
cargo fmt
for code formatting. - Fix all warnings and errors reported by
clippy
.