diff options
| author | jyn <github@jyn.dev> | 2025-02-09 14:12:21 -0500 |
|---|---|---|
| committer | jyn <github@jyn.dev> | 2025-02-09 16:34:01 -0500 |
| commit | d2459e5c1ef0c24582f8b84ae150204d9ab2d1f8 (patch) | |
| tree | 82ea269cc44a64f7b6399ae29807d3811a39a3a1 | |
| parent | 9bd9bcf4964ee3eeed2bbb99567619c8fb3d70d6 (diff) | |
| download | rust-d2459e5c1ef0c24582f8b84ae150204d9ab2d1f8.tar.gz rust-d2459e5c1ef0c24582f8b84ae150204d9ab2d1f8.zip | |
fix target dir test
| -rw-r--r-- | src/tools/rust-analyzer/crates/rust-analyzer/src/config.rs | 4 | ||||
| -rw-r--r-- | src/tools/rust-analyzer/crates/test-utils/src/lib.rs | 9 |
2 files changed, 11 insertions, 2 deletions
diff --git a/src/tools/rust-analyzer/crates/rust-analyzer/src/config.rs b/src/tools/rust-analyzer/crates/rust-analyzer/src/config.rs index e915e55722b..2e9bb8c08e2 100644 --- a/src/tools/rust-analyzer/crates/rust-analyzer/src/config.rs +++ b/src/tools/rust-analyzer/crates/rust-analyzer/src/config.rs @@ -3798,8 +3798,10 @@ mod tests { (config, _, _) = config.apply_change(change); assert_eq!(config.cargo_targetDir(None), &Some(TargetDirectory::UseSubdirectory(true))); + let target = + Utf8PathBuf::from(std::env::var("CARGO_TARGET_DIR").unwrap_or("target".to_owned())); assert!( - matches!(config.flycheck(None), FlycheckConfig::CargoCommand { options, .. } if options.target_dir == Some(Utf8PathBuf::from("target/rust-analyzer"))) + matches!(config.flycheck(None), FlycheckConfig::CargoCommand { options, .. } if options.target_dir == Some(target.join("rust-analyzer"))) ); } diff --git a/src/tools/rust-analyzer/crates/test-utils/src/lib.rs b/src/tools/rust-analyzer/crates/test-utils/src/lib.rs index 36be9937d3f..e7279fa1f66 100644 --- a/src/tools/rust-analyzer/crates/test-utils/src/lib.rs +++ b/src/tools/rust-analyzer/crates/test-utils/src/lib.rs @@ -396,12 +396,19 @@ pub fn skip_slow_tests() -> bool { if should_skip { eprintln!("ignoring slow test"); } else { - let path = project_root().join("./target/.slow_tests_cookie"); + let path = target_dir().join(".slow_tests_cookie"); fs::write(path, ".").unwrap(); } should_skip } +pub fn target_dir() -> Utf8PathBuf { + match std::env::var("CARGO_TARGET_DIR") { + Ok(target) => Utf8PathBuf::from(target), + Err(_) => project_root().join("target"), + } +} + /// Returns the path to the root directory of `rust-analyzer` project. pub fn project_root() -> Utf8PathBuf { let dir = env!("CARGO_MANIFEST_DIR"); |
