rocket_codegen 0.3.7

Code generation for the Rocket web framework.
extern crate compiletest_rs as compiletest;

use std::path::PathBuf;

fn run_mode(mode: &'static str) {
    let mut config = compiletest::Config::default();
    let cfg_mode = mode.parse().expect("Invalid mode");

    config.mode = cfg_mode;
    config.src_base = PathBuf::from(format!("tests/{}", mode));

    #[cfg(debug_assertions)]
    let flags = [
        "-L crate=../target/debug/",
        "-L dependency=../target/debug/deps/",
    ].join(" ");

    #[cfg(not(debug_assertions))]
    let flags = [
        "-L crate=../target/release/",
        "-L dependency=../target/release/deps/",
    ].join(" ");

    config.target_rustcflags = Some(flags);
    compiletest::run_tests(&config);
}

#[test]
fn compile_test() {
    run_mode("compile-fail");
    run_mode("run-pass");
}