cleanass

Crates.iocleanass
lib.rscleanass
version0.0.1
sourcesrc
created_at2024-11-28 04:45:04.6297
updated_at2024-11-28 04:45:04.6297
descriptionEnhances assert, assert_eq and assert_ne with cleanup statement which runs on failure
homepage
repositoryhttps://github.com/thlorenz/cleanass
max_upload_size
id1463919
size95,062
Thorsten Lorenz (thlorenz)

documentation

README

cleanass

Crates.io Docs.rs

Enhances assert, assert_eq and assert_ne with cleanup statement which runs on failure.

Usage

Import use cleanass::{assert_eq, assert_ne, assert}; and use them as you would the built-in versions or pass in a closure which runs whenever an assertion fails.

use cleanass::assert_ne;

pub fn main() {
    // If assert succeeds nothing is printed since cleanup function does not run
    {
        let a = 1;
        let b = 2;
        assert_ne!(a, b, eprintln!("Cleanup: {} != {} succeeded", a, b));
    }
    // If assert fails the cleanup function runs and prints the message
    {
        let a = 1;
        let b = 1;
        assert_ne!(
            a, b,
            eprintln!("Cleanup: {} != {} failed", a, b),
            "Should not be equal"
        );
    }
}

Features

strict

  • disables versions of the assertions that don't require a closure ensuring that you don't accidentally forget to add a cleanup function
  • is on by default

LICENSE

MIT

Commit count: 3

cargo fmt