mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-09-08 00:00:13 +02:00
Document common cargo commands (#2293)
* Document common cargo commands * Add loom command
This commit is contained in:
@@ -112,6 +112,39 @@ usually a good idea to first open an issue describing the change to solicit
|
|||||||
feedback and guidance. This will increase the likelihood of the PR getting
|
feedback and guidance. This will increase the likelihood of the PR getting
|
||||||
merged.
|
merged.
|
||||||
|
|
||||||
|
### Cargo Commands
|
||||||
|
|
||||||
|
Due to the extensive use of features in Tokio, you will often need to add extra
|
||||||
|
arguments to many common cargo commands. This section lists some commonly needed
|
||||||
|
commands.
|
||||||
|
|
||||||
|
Some commands just need the `--all-features` argument:
|
||||||
|
```
|
||||||
|
cargo build --all-features
|
||||||
|
cargo check --all-features
|
||||||
|
cargo test --all-features
|
||||||
|
```
|
||||||
|
When building documentation normally, the markers that list the features
|
||||||
|
required for various parts of Tokio are missing. To build the documentation
|
||||||
|
correctly, use this command:
|
||||||
|
```
|
||||||
|
RUSTDOCFLAGS="--cfg docsrs" cargo +nightly doc --all-features
|
||||||
|
```
|
||||||
|
The `cargo fmt` command does not work on the Tokio codebase. You can use the
|
||||||
|
command below instead:
|
||||||
|
```
|
||||||
|
rustfmt --check --edition 2018 $(find . -name '*.rs' -print)
|
||||||
|
```
|
||||||
|
The `--check` argument prints the things that need to be fixed. If you remove
|
||||||
|
it, `rustfmt` will update your files locally instead.
|
||||||
|
|
||||||
|
You can run loom tests with
|
||||||
|
```
|
||||||
|
cd tokio # tokio crate in workspace
|
||||||
|
LOOM_MAX_PREEMPTIONS=1 RUSTFLAGS="--cfg loom" \
|
||||||
|
cargo test --lib --release --features full -- --test-threads=1 --nocapture
|
||||||
|
```
|
||||||
|
|
||||||
### Tests
|
### Tests
|
||||||
|
|
||||||
If the change being proposed alters code (as opposed to only documentation for
|
If the change being proposed alters code (as opposed to only documentation for
|
||||||
|
|||||||
Reference in New Issue
Block a user