| Marcin Radomski | 2cdd3b5 | 2024-03-13 15:43:53 +0000 | [diff] [blame] | 1 | # Contributing to rustix |
| 2 | |
| 3 | Rustix is a [Bytecode Alliance] project. It follows the Bytecode Alliance's |
| 4 | [Code of Conduct] and [Organizational Code of Conduct]. |
| 5 | |
| 6 | ## Testing |
| 7 | |
| 8 | To keep compile times low, most features in rustix's API are behind cargo |
| 9 | features. A special feature, `all-apis` enables all APIs, which is useful |
| 10 | for testing. |
| 11 | |
| 12 | ```console |
| 13 | cargo test --features=all-apis |
| 14 | ``` |
| 15 | |
| 16 | And, rustix has two backends, linux_raw and libc, and only one is used in |
| 17 | any given build. To test with the libc backend explicitly, additionally |
| 18 | enable the `use-libc` feature: |
| 19 | |
| 20 | ```console |
| 21 | cargo test --features=all-apis,use-libc |
| 22 | ``` |
| 23 | |
| 24 | Beyond that, rustix's CI tests many targets and configurations. Asking for |
| 25 | help is always welcome, and it's especially encouraged when the issue is |
| 26 | getting all the `cfg`s lined up to get everything compiling on all the |
| 27 | configurations on CI. |