crate_compile_test/
lib.rs

1#![deny(warnings)]
2
3#[macro_use]
4extern crate failure;
5#[macro_use]
6extern crate serde_derive;
7#[macro_use]
8extern crate lazy_static;
9
10extern crate colored;
11extern crate regex;
12extern crate serde;
13extern crate serde_json;
14extern crate tempfile;
15extern crate walkdir;
16
17pub mod config;
18pub mod error;
19pub mod steps;
20
21mod cargo_messages;
22mod formatting;
23mod plan;
24mod runner;
25
26pub mod prelude {
27    pub use config::{Config, Mode, Profile};
28    pub use error::{Result, TestingError};
29    pub use runner::TestRunner;
30}
31
32#[macro_export]
33macro_rules! bootstrap_compilation_tests {
34    ($($name:ident),+) => {
35        fn main() {
36            use std::process::exit;
37            use std::io::stdout;
38
39            let mut output = stdout();
40            let mut runner = TestRunner::new(&mut output);
41
42            $($name(&mut runner);)+
43
44            if !runner.start().unwrap().is_success() {
45                exit(1);
46            }
47        }
48    };
49}