45 lines
1.2 KiB
Markdown
45 lines
1.2 KiB
Markdown
|
# Tests
|
||
|
|
||
|
To run all tests, run the following command:
|
||
|
|
||
|
```sh
|
||
|
cargo +nightly test --all
|
||
|
```
|
||
|
|
||
|
## UI tests (`ui`, `compiletest.rs`)
|
||
|
|
||
|
This checks errors detected by the macro or the Rust compiler in the resulting
|
||
|
expanded code.
|
||
|
|
||
|
To run this test, run the following command:
|
||
|
|
||
|
```sh
|
||
|
cargo +nightly test --test compiletest
|
||
|
```
|
||
|
|
||
|
Locally, this test updates the files in the `ui` directory if there are
|
||
|
changes to the generated code. If there are any changes to the files in the
|
||
|
`ui` directory after running the test, please commit them.
|
||
|
|
||
|
See also [`trybuild` documentation](https://docs.rs/trybuild).
|
||
|
|
||
|
## Expansion tests (`expand`, `expandtest.rs`)
|
||
|
|
||
|
Similar to ui tests, but instead of checking the compiler output, this checks
|
||
|
the code generated by macros.
|
||
|
|
||
|
See [examples](../examples/README.md) for descriptions of what the generated
|
||
|
code does, and why it needs to be generated.
|
||
|
|
||
|
To run this test, run the following command:
|
||
|
|
||
|
```sh
|
||
|
cargo +nightly test --test expandtest
|
||
|
```
|
||
|
|
||
|
Locally, this test updates the files in the `expand` directory if there are
|
||
|
changes to the generated code. If there are any changes to the files in the
|
||
|
`expand` directory after running the test, please commit them.
|
||
|
|
||
|
See also [`macrotest` documentation](https://docs.rs/macrotest).
|