mithril-client 0.5.7

Mithril client library
Documentation
// Avoid clippy warnings generated by tests that doesn't use every tests_extensions (since each test
// is a different compilation target).
#![allow(dead_code)]

pub mod fake;
pub mod mock;

use std::path::PathBuf;

pub fn get_test_dir(subdir_name: &str) -> PathBuf {
    let dir = std::env::temp_dir().join("mithril_test").join(subdir_name);

    if dir.exists() {
        std::fs::remove_dir_all(&dir)
            .unwrap_or_else(|e| panic!("Could not remove dir {dir:?}: {e}"));
    }
    std::fs::create_dir_all(&dir).unwrap_or_else(|e| panic!("Could not create dir {dir:?}: {e}"));

    dir
}

pub fn test_logger() -> slog::Logger {
    use slog::Drain;

    let decorator = slog_term::PlainDecorator::new(slog_term::TestStdoutWriter);
    let drain = slog_term::CompactFormat::new(decorator).build().fuse();
    let drain = slog_async::Async::new(drain).build().fuse();
    slog::Logger::root(std::sync::Arc::new(drain), slog::o!())
}