log_tester 0.1.2

Test for log messages produced by the log crate
Documentation
  • Coverage
  • 100%
    10 out of 10 items documented5 out of 7 items with examples
  • Size
  • Source code size: 47.12 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.71 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 10s Average build duration of successful builds.
  • all releases: 10s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Ultraxime/log-tester
    2 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • Ultraxime

log_tester

crates.io Documentation License: GNU GPLv3

log_tester is a crate that takes care of capturing log messages produced by the log crate during test, and then perform checks on them.

Warnings

This crate is made to capture all logs, including in multithreaded case. Hence, it does not work well with cargo test, the logs from all test will be captured.

It is better to use cargo nextest instead.

Using cargo test will not fail but additional logs will be captured. In that way the test may not be right.

Usage

This crate is intend to be used in conjunction with the log crate. And only during test.

[dependencies]
log = "0.4"

[dev-dependencies]
log_tester = "0.1"
use log_tester::LogTester;
use log::Level;

#[test]
fn test_log() {
    LogTester::start();
    log::info!("Hello, world!");

    assert!(LogTester::contains(Level::Info, "Hello, world!"))
}

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Authors

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.