-
Notifications
You must be signed in to change notification settings - Fork 12.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
80 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
# `report-time` | ||
|
||
The tracking issue for this feature is: [#64888] | ||
|
||
[#64888]: https://github.com/rust-lang/rust/issues/64888 | ||
|
||
------------------------ | ||
|
||
The `report-time` feature adds a possibility to report execution time of the | ||
tests generated via `libtest`. | ||
|
||
This is unstable feature, so you have to provide `-Zunstable-options` to get | ||
this feature working. | ||
|
||
Sample usage command: | ||
|
||
```sh | ||
./test_executable -Zunstable-options --report-time | ||
``` | ||
|
||
Available options: | ||
|
||
```sh | ||
--report-time [plain|colored] | ||
Show execution time of each test. Awailable values: | ||
plain = do not colorize the execution time (default); | ||
colored = colorize output according to the `color` | ||
parameter value; | ||
Threshold values for colorized output can be | ||
configured via | ||
`RUST_TEST_TIME_UNIT`, `RUST_TEST_TIME_INTEGRATION` | ||
and | ||
`RUST_TEST_TIME_DOCTEST` environment variables. | ||
Expected format of environment variable is | ||
`VARIABLE=WARN_TIME,CRITICAL_TIME`. | ||
Not available for --format=terse | ||
--ensure-time | ||
Treat excess of the test execution time limit as | ||
error. | ||
Threshold values for this option can be configured via | ||
`RUST_TEST_TIME_UNIT`, `RUST_TEST_TIME_INTEGRATION` | ||
and | ||
`RUST_TEST_TIME_DOCTEST` environment variables. | ||
Expected format of environment variable is | ||
`VARIABLE=WARN_TIME,CRITICAL_TIME`. | ||
`CRITICAL_TIME` here means the limit that should not be | ||
exceeded by test. | ||
``` | ||
|
||
Example of the environment variable format: | ||
|
||
```sh | ||
RUST_TEST_TIME_UNIT=100,200 | ||
``` | ||
|
||
where 100 stands for warn time, and 200 stands for critical time. | ||
|
||
## Examples | ||
|
||
```sh | ||
cargo test --tests -- -Zunstable-options --report-time | ||
Finished dev [unoptimized + debuginfo] target(s) in 0.02s | ||
Running target/debug/deps/example-27fb188025bec02c | ||
|
||
running 3 tests | ||
test tests::unit_test_quick ... ok <0.000s> | ||
test tests::unit_test_warn ... ok <0.055s> | ||
test tests::unit_test_critical ... ok <0.110s> | ||
|
||
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out | ||
|
||
Running target/debug/deps/tests-cedb06f6526d15d9 | ||
|
||
running 3 tests | ||
test unit_test_quick ... ok <0.000s> | ||
test unit_test_warn ... ok <0.550s> | ||
test unit_test_critical ... ok <1.100s> | ||
|
||
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out | ||
``` |