]> git.lizzy.rs Git - rust.git/blob - tests/dogfood.rs
Fix dogfood tests on Appveyor
[rust.git] / tests / dogfood.rs
1 #[test]
2 fn dogfood() {
3     if option_env!("RUSTC_TEST_SUITE").is_some() {
4         return;
5     }
6     let root_dir = std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR"));
7     let clippy_cmd = std::path::Path::new(&root_dir)
8         .join("target")
9         .join(env!("PROFILE"))
10         .join("cargo-clippy");
11
12     let output = std::process::Command::new(clippy_cmd)
13         .current_dir(root_dir)
14         .env("CLIPPY_DOGFOOD", "1")
15         .arg("clippy")
16         .arg("--all-targets")
17         .arg("--all-features")
18         .arg("--")
19         .args(&["-D", "clippy::all"])
20         .args(&["-D", "clippy::internal"])
21         .args(&["-D", "clippy::pedantic"])
22         .output()
23         .unwrap();
24     println!("status: {}", output.status);
25     println!("stdout: {}", String::from_utf8_lossy(&output.stdout));
26     println!("stderr: {}", String::from_utf8_lossy(&output.stderr));
27
28     assert!(output.status.success());
29 }
30
31 #[test]
32 fn dogfood_tests() {
33     if option_env!("RUSTC_TEST_SUITE").is_some() {
34         return;
35     }
36     let root_dir = std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR"));
37     let clippy_cmd = std::path::Path::new(&root_dir)
38         .join("target")
39         .join(env!("PROFILE"))
40         .join("cargo-clippy");
41
42     for d in &[
43         "clippy_workspace_tests",
44         "clippy_workspace_tests/src",
45         "clippy_workspace_tests/subcrate",
46         "clippy_workspace_tests/subcrate/src",
47         "clippy_dev",
48         "rustc_tools_util",
49     ] {
50         let output = std::process::Command::new(&clippy_cmd)
51             .current_dir(root_dir.join(d))
52             .env("CLIPPY_DOGFOOD", "1")
53             .arg("clippy")
54             .arg("--")
55             .args(&["-D", "clippy::all"])
56             .args(&["-D", "clippy::pedantic"])
57             .output()
58             .unwrap();
59         println!("status: {}", output.status);
60         println!("stdout: {}", String::from_utf8_lossy(&output.stdout));
61         println!("stderr: {}", String::from_utf8_lossy(&output.stderr));
62
63         assert!(output.status.success());
64     }
65 }