crate_compile_test/
lib.rs1#![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}