| Crates.io | test-pretty-log |
| lib.rs | test-pretty-log |
| version | 0.6.2 |
| created_at | 2024-01-16 09:21:20.038704+00 |
| updated_at | 2024-01-25 06:34:27.307329+00 |
| description | A replacement of the #[test] attribute that initializes logging and/or tracing infrastructure before running tests. |
| homepage | https://github.com/ILikePizza555/test-pretty-log |
| repository | https://github.com/ILikePizza555/test-pretty-log.git |
| max_upload_size | |
| id | 1101427 |
| size | 27,962 |
test-pretty-log is a crate that takes care of automatically initializing logging and/or tracing for Rust tests.
It is based off test-log and enables the logs to use pretty colors! :3
Note that this crate has removed support for log and focuses entirely on
tracing. Re-introducing support for log is planned at a later date.
The crate provides a custom #[test] attribute that, when used for
running a particular test, takes care of initializing tracing beforehand.
As such, usage is as simple as importing and using said attribute:
use test_pretty_log::test;
#[test]
fn it_works() {
info!("Checking whether it still works...");
assert_eq!(2 + 2, 4);
info!("Looks good!");
}
It is of course also possible to initialize logging for a chosen set of tests, by only annotating these with the custom attribute:
#[test_pretty_log::test]
fn it_still_works() {
// ...
}
You can also stack another attribute. For example, suppose you use
[#[tokio::test]][tokio-test] to run async tests:
use test_log::test;
#[test(tokio::test)]
async fn it_still_works() {
// ...
}
Lastly, you can disable coloring for a test with a parameter:
use test_log::test;
#[test(color=false)]
fn no_more_colored_output() {
// :blobfoxsad:
}
As usual when running cargo test, the output is captured by the
framework by default and only shown on test failure. The --nocapture
argument can be supplied in order to overwrite this setting. E.g.,
$ cargo test -- --nocapture
Furthermore, the RUST_LOG environment variable is honored and can be
used to influence the log level to work with (among other things).
Please refer to the [env_logger docs][env-docs-rs] for more
information.
The RUST_LOG_SPAN_EVENTS environment variable can be used to configure
the tracing subscriber to log synthesized events at points in the span lifecycle.
Set the variable to a comma-separated list of events you want to see.
For example, RUST_LOG_SPAN_EVENTS=full or RUST_LOG_SPAN_EVENTS=new,close.
Valid events are new, enter, exit, close, active, and full.
See the [tracing_subscriber docs][tracing-events-docs-rs] for details
on what the events mean.
The RUST_LOG_COLOR environment variable can be used to
configure outputting ANSI colors in the tracing subscriber to print
colorized logs. By default, this is enabled. Valid values are common
boolean representations (f, false, off, 0, t, true, on, 1).
The color parameter of the macro overrides this setting.
The RUST_LOG_FORMAT environment variable can be used to configure
the formatter of the tracing subcriber. By default, it is set to pretty.
Valid values are pretty, full, or compact.