#[macro_use]
extern crate duct;

#[test]
fn examples() {
    let mut error = false;
    for file in std::fs::read_dir("clippy_tests/examples").unwrap() {
        let file = file.unwrap().path();
        // only test *.rs files
        if file.extension().map_or(true, |file| file != "rs") {
            continue;
        }
        cmd!("touch", &file).run().unwrap();
        let output = file.with_extension("stderr");
        cmd!("cargo", "rustc", "-q", "--example", file.file_stem().unwrap(), "--", "-Dwarnings",
             "-Zremap-path-prefix-from=examples/", "-Zremap-path-prefix-to=",
             "-Zremap-path-prefix-from=examples\\", "-Zremap-path-prefix-to="
             )
            .unchecked()
            .stderr(&output)
            .env("CLIPPY_DISABLE_WIKI_LINKS", "true")
            .dir("clippy_tests")
            .run()
            .unwrap();
        print!("testing {}... ", file.file_stem().unwrap().to_str().unwrap());
        if cmd!("git", "diff", "--exit-code", output).run().is_err() {
            error = true;
            println!("ERROR");
        } else {
            println!("ok");
        }
    }
    assert!(!error, "A test failed");
}

#[macro_use]
extern crate duct;

use std::io::{BufRead, BufReader};
use std::fs::File;

#[test]
fn examples() {
    let mut error = false;
    for file in std::fs::read_dir("clippy_tests/examples").unwrap() {
        let file = file.unwrap().path();
        // only test *.rs files
        if file.extension().map_or(true, |file| file != "rs") {
            continue;
        }
        print!("testing {}... ", file.file_stem().unwrap().to_str().unwrap());
        let skip = BufReader::new(File::open(&file).unwrap()).lines().any(|line| {
            let line = line.as_ref().unwrap().trim();
            line == "// ignore-x86" && cfg!(target_pointer_width = "32") ||
            line == "// ignore-x86_64" && cfg!(target_pointer_width = "64")
        });
        if skip {
            println!("skipping");
            continue;
        }
        cmd!("touch", &file).run().unwrap();
        let output = file.with_extension("stderr");
        cmd!("cargo", "rustc", "-q", "--example", file.file_stem().unwrap(), "--", "-Dwarnings",
             "-Zremap-path-prefix-from=examples/", "-Zremap-path-prefix-to=",
             "-Zremap-path-prefix-from=examples\\", "-Zremap-path-prefix-to="
             )
            .unchecked()
            .stderr(&output)
            .env("CLIPPY_DISABLE_WIKI_LINKS", "true")
            .dir("clippy_tests")
            .run()
            .unwrap();
        if cmd!("git", "diff", "--exit-code", output).run().is_err() {
            error = true;
            println!("ERROR");
        } else {
            println!("ok");
        }
    }
    assert!(!error, "A test failed");
}

Enable 64bit vs 32bit tests
Enable 64bit vs 32bit tests
