diff options
Diffstat (limited to 'syn/tests/repo/mod.rs')
-rw-r--r-- | syn/tests/repo/mod.rs | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/syn/tests/repo/mod.rs b/syn/tests/repo/mod.rs deleted file mode 100644 index 681615c..0000000 --- a/syn/tests/repo/mod.rs +++ /dev/null @@ -1,109 +0,0 @@ -mod progress; - -use self::progress::Progress; -use crate::common; -use anyhow::Result; -use flate2::read::GzDecoder; -use std::fs; -use std::path::Path; -use tar::Archive; -use walkdir::DirEntry; - -const REVISION: &str = "7979016aff545f7b41cc517031026020b340989d"; - -pub fn base_dir_filter(entry: &DirEntry) -> bool { - let path = entry.path(); - if path.is_dir() { - return true; // otherwise walkdir does not visit the files - } - if path.extension().map(|e| e != "rs").unwrap_or(true) { - return false; - } - let path_string = path.to_string_lossy(); - let path_string = if cfg!(windows) { - path_string.replace('\\', "/").into() - } else { - path_string - }; - // TODO assert that parsing fails on the parse-fail cases - if path_string.starts_with("tests/rust/src/test/parse-fail") - || path_string.starts_with("tests/rust/src/test/compile-fail") - || path_string.starts_with("tests/rust/src/test/rustfix") - { - return false; - } - - if path_string.starts_with("tests/rust/src/test/ui") { - let stderr_path = path.with_extension("stderr"); - if stderr_path.exists() { - // Expected to fail in some way - return false; - } - } - - match path_string.as_ref() { - // Deprecated placement syntax - "tests/rust/src/test/ui/obsolete-in-place/bad.rs" | - // Deprecated anonymous parameter syntax in traits - "tests/rust/src/test/ui/error-codes/e0119/auxiliary/issue-23563-a.rs" | - "tests/rust/src/test/ui/issues/issue-13105.rs" | - "tests/rust/src/test/ui/issues/issue-13775.rs" | - "tests/rust/src/test/ui/issues/issue-34074.rs" | - // Deprecated await macro syntax - "tests/rust/src/test/ui/async-await/await-macro.rs" | - // 2015-style dyn that libsyntax rejects - "tests/rust/src/test/ui/dyn-keyword/dyn-2015-no-warnings-without-lints.rs" | - // not actually test cases - "tests/rust/src/test/ui/include-single-expr-helper.rs" | - "tests/rust/src/test/ui/include-single-expr-helper-1.rs" | - "tests/rust/src/test/ui/issues/auxiliary/issue-21146-inc.rs" | - "tests/rust/src/test/ui/macros/auxiliary/macro-comma-support.rs" | - "tests/rust/src/test/ui/macros/auxiliary/macro-include-items-expr.rs" => false, - _ => true, - } -} - -pub fn clone_rust() { - let needs_clone = match fs::read_to_string("tests/rust/COMMIT") { - Err(_) => true, - Ok(contents) => contents.trim() != REVISION, - }; - if needs_clone { - download_and_unpack().unwrap(); - } -} - -fn download_and_unpack() -> Result<()> { - let url = format!( - "https://github.com/rust-lang/rust/archive/{}.tar.gz", - REVISION - ); - let response = reqwest::blocking::get(&url)?.error_for_status()?; - let progress = Progress::new(response); - let decoder = GzDecoder::new(progress); - let mut archive = Archive::new(decoder); - let prefix = format!("rust-{}", REVISION); - - let tests_rust = Path::new("tests/rust"); - if tests_rust.exists() { - fs::remove_dir_all(tests_rust)?; - } - - for entry in archive.entries()? { - let mut entry = entry?; - let path = entry.path()?; - if path == Path::new("pax_global_header") { - continue; - } - let relative = path.strip_prefix(&prefix)?; - let out = tests_rust.join(relative); - entry.unpack(&out)?; - if common::travis_ci() { - // Something about this makes the travis build not deadlock... - errorf!("."); - } - } - - fs::write("tests/rust/COMMIT", REVISION)?; - Ok(()) -} |