History

tempdir lives long enough for sure.

Svetlin Stefanov committed 4 years ago

Commit a41002f1 parent 8de6b3d1 file · +31 −17Browse files

Unified · Split

git-config/tests/file/from_paths/includes/conditional/gitdir.rs+31−17
@@ -74,11 +74,10 @@ fn assert_section_value( · 73 unmodified lines
74 );74 );
75}75}
76 76
77fn git_dir(root_dir: &TempDir, git_dir_suffix: &str) -> Box<Path> {77fn git_dir(root_dir: &Path, git_dir_suffix: &str) -> PathBuf {
78 let git_dir = root_dir.path().join(git_dir_suffix).join(".git");78 let git_dir = root_dir.join(git_dir_suffix).join(".git");
79 let git_dir = git_dir.as_path();79 fs::create_dir_all(&git_dir).unwrap();
80 fs::create_dir_all(git_dir).unwrap();80 git_dir
81 git_dir.into()
82}81}
83 82
84fn write_config(condition: &str, git_dir: &Path, overwrite_config_location: &ConfigLocation) {83fn write_config(condition: &str, git_dir: &Path, overwrite_config_location: &ConfigLocation) {
@@ -187,9 +186,11 @@ fn home() -> String { · 102 unmodified lines
187#[test]186#[test]
188#[serial]187#[serial]
189fn relative_path_with_trailing_slash() {188fn relative_path_with_trailing_slash() {
189 let temp_dir = tempdir().unwrap();
190 let git_dir = git_dir(temp_dir.path(), "foo");
190 assert_section_value(Options {191 assert_section_value(Options {
191 condition: "gitdir:foo/",192 condition: "gitdir:foo/",
192 git_dir: &git_dir(&tempdir().unwrap(), "foo"),193 git_dir: &git_dir,
193 ..Default::default()194 ..Default::default()
194 });195 });
195}196}
@@ -206,10 +207,11 @@ fn tilde_expansion() { · 10 unmodified lines
206 .as_os_str()207 .as_os_str()
207 .to_str()208 .to_str()
208 .unwrap();209 .unwrap();
210 let git_dir = git_dir(tmp_dir.path(), "foo");
209 211
210 assert_section_value(Options {212 assert_section_value(Options {
211 condition: &format!("gitdir:~/{}/foo/", root),213 condition: &format!("gitdir:~/{}/foo/", root),
212 git_dir: &git_dir(&tmp_dir, "foo"),214 git_dir: &git_dir,
213 ..Default::default()215 ..Default::default()
214 });216 });
215}217}
@@ -217,9 +219,11 @@ fn tilde_expansion() { · 1 unmodified line
217#[test]219#[test]
218#[serial]220#[serial]
219fn star_star_prefix_and_suffix() {221fn star_star_prefix_and_suffix() {
222 let temp_dir = tempdir().unwrap();
223 let git_dir = git_dir(temp_dir.path(), "foo");
220 assert_section_value(Options {224 assert_section_value(Options {
221 condition: "gitdir:**/foo/**",225 condition: "gitdir:**/foo/**",
222 git_dir: &git_dir(&tempdir().unwrap(), "foo"),226 git_dir: &git_dir,
223 ..Default::default()227 ..Default::default()
224 });228 });
225}229}
@@ -227,9 +231,11 @@ fn star_star_prefix_and_suffix() { · 1 unmodified line
227#[test]231#[test]
228#[serial]232#[serial]
229fn dot_path_slash() {233fn dot_path_slash() {
234 let temp_dir = tempdir().unwrap();
235 let git_dir = git_dir(temp_dir.path(), "foo");
230 assert_section_value(Options {236 assert_section_value(Options {
231 condition: "gitdir:./",237 condition: "gitdir:./",
232 git_dir: &git_dir(&tempdir().unwrap(), "foo"),238 git_dir: &git_dir,
233 config_location: ConfigLocation::User,239 config_location: ConfigLocation::User,
234 ..Default::default()240 ..Default::default()
235 });241 });
@@ -238,9 +244,11 @@ fn dot_path_slash() { · 2 unmodified lines
238#[test]244#[test]
239#[serial]245#[serial]
240fn dot_path() {246fn dot_path() {
247 let temp_dir = tempdir().unwrap();
248 let git_dir = git_dir(temp_dir.path(), "foo");
241 assert_section_value(Options {249 assert_section_value(Options {
242 condition: "gitdir:./foo/.git",250 condition: "gitdir:./foo/.git",
243 git_dir: &git_dir(&tempdir().unwrap(), "foo"),251 git_dir: &git_dir,
244 config_location: ConfigLocation::User,252 config_location: ConfigLocation::User,
245 ..Default::default()253 ..Default::default()
246 });254 });
@@ -249,9 +257,11 @@ fn dot_path() { · 2 unmodified lines
249#[test]257#[test]
250#[serial]258#[serial]
251fn case_insensitive() {259fn case_insensitive() {
260 let temp_dir = tempdir().unwrap();
261 let git_dir = git_dir(temp_dir.path(), "foo");
252 assert_section_value(Options {262 assert_section_value(Options {
253 condition: "gitdir/i:FOO/",263 condition: "gitdir/i:FOO/",
254 git_dir: &git_dir(&tempdir().unwrap(), "foo"),264 git_dir: &git_dir,
255 ..Default::default()265 ..Default::default()
256 });266 });
257}267}
@@ -260,9 +270,11 @@ fn case_insensitive() { · 2 unmodified lines
260#[serial]270#[serial]
261#[ignore]271#[ignore]
262fn pattern_with_backslash() {272fn pattern_with_backslash() {
273 let temp_dir = tempdir().unwrap();
274 let git_dir = git_dir(temp_dir.path(), "foo");
263 assert_section_value(Options {275 assert_section_value(Options {
264 condition: "gitdir:\\foo/",276 condition: "gitdir:\\foo/",
265 git_dir: &git_dir(&tempdir().unwrap(), "foo"),277 git_dir: &git_dir,
266 expected: Value::Original,278 expected: Value::Original,
267 ..Default::default()279 ..Default::default()
268 });280 });
@@ -271,9 +283,11 @@ fn pattern_with_backslash() { · 2 unmodified lines
271#[test]283#[test]
272#[serial]284#[serial]
273fn star_star_in_the_middle() {285fn star_star_in_the_middle() {
286 let temp_dir = tempdir().unwrap();
287 let git_dir = git_dir(temp_dir.path(), "foo/bar");
274 assert_section_value(Options {288 assert_section_value(Options {
275 condition: "gitdir:**/foo/**/bar/**",289 condition: "gitdir:**/foo/**/bar/**",
276 git_dir: &git_dir(&tempdir().unwrap(), "foo/bar"),290 git_dir: &git_dir,
277 ..Default::default()291 ..Default::default()
278 });292 });
279}293}
@@ -292,7 +306,7 @@ fn tilde_expansion_with_symlink() { · 12 unmodified lines
292 .to_str()306 .to_str()
293 .unwrap();307 .unwrap();
294 308
295 git_dir(&tmp_dir, "foo");309 let _ = git_dir(tmp_dir.path(), "foo");
296 create_symlink(310 create_symlink(
297 tmp_dir.path().join("bar").as_path(),311 tmp_dir.path().join("bar").as_path(),
298 tmp_dir.path().join("foo").as_path(),312 tmp_dir.path().join("foo").as_path(),
@@ -310,7 +324,7 @@ fn tilde_expansion_with_symlink() { · 11 unmodified lines
310#[cfg(not(target_os = "windows"))]324#[cfg(not(target_os = "windows"))]
311fn dot_path_with_symlink() {325fn dot_path_with_symlink() {
312 let tmp_dir = tempdir_in(home()).unwrap();326 let tmp_dir = tempdir_in(home()).unwrap();
313 git_dir(&tmp_dir, "foo");327 git_dir(tmp_dir.path(), "foo");
314 create_symlink(328 create_symlink(
315 tmp_dir.path().join("bar").as_path(),329 tmp_dir.path().join("bar").as_path(),
316 tmp_dir.path().join("foo").as_path(),330 tmp_dir.path().join("foo").as_path(),
@@ -328,7 +342,7 @@ fn dot_path_with_symlink() { · 11 unmodified lines
328#[cfg(not(target_os = "windows"))]342#[cfg(not(target_os = "windows"))]
329fn dot_path_matching_symlink() {343fn dot_path_matching_symlink() {
330 let tmp_dir = tempdir_in(home()).unwrap();344 let tmp_dir = tempdir_in(home()).unwrap();
331 git_dir(&tmp_dir, "foo");345 git_dir(tmp_dir.path(), "foo");
332 create_symlink(346 create_symlink(
333 tmp_dir.path().join("bar").as_path(),347 tmp_dir.path().join("bar").as_path(),
334 tmp_dir.path().join("foo").as_path(),348 tmp_dir.path().join("foo").as_path(),
@@ -346,7 +360,7 @@ fn dot_path_matching_symlink() { · 11 unmodified lines
346#[cfg(not(target_os = "windows"))]360#[cfg(not(target_os = "windows"))]
347fn dot_path_matching_symlink_with_icase() {361fn dot_path_matching_symlink_with_icase() {
348 let tmp_dir = tempdir_in(home()).unwrap();362 let tmp_dir = tempdir_in(home()).unwrap();
349 git_dir(&tmp_dir, "foo");363 git_dir(tmp_dir.path(), "foo");
350 create_symlink(364 create_symlink(
351 tmp_dir.path().join("bar").as_path(),365 tmp_dir.path().join("bar").as_path(),
352 tmp_dir.path().join("foo").as_path(),366 tmp_dir.path().join("foo").as_path(),