Skip to content

Latest commit

 

History

History
48 lines (31 loc) · 1.44 KB

DEVELOPMENT.md

File metadata and controls

48 lines (31 loc) · 1.44 KB

Development Guide

Testing

Many of the tests in this repository are based on pin-project's tests.

To run all tests, run the following command:

cargo +nightly test --all

UI tests (tests/ui, tests/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:

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.

Expansion tests (tests/expand, tests/expandtest.rs)

Similar to ui tests, but instead of checking the compiler output, this checks the code generated by macros.

See pin-project's examples for descriptions of what the generated code does, and why it needs to be generated.

To run this test, run the following command:

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.