#![doc(html_root_url = "https://mackwic.github.io/rspec")]
#![cfg_attr(feature = "clippy", feature(plugin))]
#![cfg_attr(feature = "clippy", plugin(clippy))]
#![allow(dead_code)]
#[macro_use]
extern crate derive_builder;
#[macro_use]
extern crate derive_new;
extern crate colored;
#[cfg(feature = "expectest_compat")]
extern crate expectest;
extern crate rayon;
extern crate time;
pub mod block;
pub mod header;
pub mod logger;
pub mod report;
pub mod runner;
mod visitor;
pub use block::{describe, given, suite};
pub use logger::Logger;
pub use runner::{Configuration, ConfigurationBuilder, Runner};
use block::Suite;
pub fn run<T>(suite: &Suite<T>)
where
T: Clone + Send + Sync + ::std::fmt::Debug,
{
use std::io;
use std::sync::Arc;
let logger = Arc::new(Logger::new(io::stdout()));
let configuration = ConfigurationBuilder::default().build().unwrap();
let runner = Runner::new(configuration, vec![logger]);
runner.run(suite);
}
#[cfg(test)]
mod tests {
pub use super::*;
pub use block::*;
}