Skip to content

Commit 6eb9ebf

Browse files
committed
add test coverage for helpers::is_path_in_submodule
Signed-off-by: onur-ozkan <work@onurozkan.dev>
1 parent b1b576d commit 6eb9ebf

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

src/bootstrap/src/utils/helpers/tests.rs

+17-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ use std::io::Write;
33
use std::path::PathBuf;
44

55
use crate::utils::helpers::{
6-
check_cfg_arg, extract_beta_rev, hex_encode, make, program_out_of_date, set_file_times,
7-
symlink_dir,
6+
check_cfg_arg, extract_beta_rev, hex_encode, is_path_in_submodule, make, program_out_of_date,
7+
set_file_times, symlink_dir,
88
};
99
use crate::{Config, Flags};
1010

@@ -115,3 +115,18 @@ fn test_set_file_times_sanity_check() {
115115
assert_eq!(found_metadata.accessed().unwrap(), unix_epoch);
116116
assert_eq!(found_metadata.modified().unwrap(), unix_epoch)
117117
}
118+
119+
#[test]
120+
fn test_is_path_in_submodule() {
121+
let config = Config::parse_inner(Flags::parse(&["build".into(), "--dry-run".into()]), |&_| {
122+
Ok(Default::default())
123+
});
124+
125+
let build = crate::Build::new(config.clone());
126+
let builder = crate::core::builder::Builder::new(&build);
127+
assert!(!is_path_in_submodule(&builder, "invalid/path"));
128+
assert!(is_path_in_submodule(&builder, "src/tools/cargo"));
129+
assert!(is_path_in_submodule(&builder, "src/llvm-project"));
130+
// Make sure subdirs are handled properly
131+
assert!(is_path_in_submodule(&builder, "src/tools/cargo/random-subdir"));
132+
}

0 commit comments

Comments
 (0)