@@ -68,6 +68,7 @@ impl<'s> ConfigEngine<'s> {
68
68
}
69
69
70
70
pub fn walk ( & self , cwd : & std:: path:: Path ) -> & crate :: config:: Walk {
71
+ debug_assert ! ( cwd. is_absolute( ) , "{} is not absolute" , cwd. display( ) ) ;
71
72
let dir = self
72
73
. configs
73
74
. get ( cwd)
@@ -76,6 +77,7 @@ impl<'s> ConfigEngine<'s> {
76
77
}
77
78
78
79
pub fn file_types ( & self , cwd : & std:: path:: Path ) -> & [ ignore:: types:: FileTypeDef ] {
80
+ debug_assert ! ( cwd. is_absolute( ) , "{} is not absolute" , cwd. display( ) ) ;
79
81
let dir = self
80
82
. configs
81
83
. get ( cwd)
@@ -84,6 +86,7 @@ impl<'s> ConfigEngine<'s> {
84
86
}
85
87
86
88
pub fn policy ( & self , path : & std:: path:: Path ) -> Policy < ' _ , ' _ > {
89
+ debug_assert ! ( path. is_absolute( ) , "{} is not absolute" , path. display( ) ) ;
87
90
let dir = self . get_dir ( path) . expect ( "`walk()` should be called first" ) ;
88
91
let file_config = dir. get_file_config ( path) ;
89
92
Policy {
@@ -120,6 +123,7 @@ impl<'s> ConfigEngine<'s> {
120
123
& self ,
121
124
cwd : & std:: path:: Path ,
122
125
) -> Result < crate :: config:: Config , anyhow:: Error > {
126
+ debug_assert ! ( cwd. is_absolute( ) , "{} is not absolute" , cwd. display( ) ) ;
123
127
let mut config = crate :: config:: Config :: default ( ) ;
124
128
125
129
if !self . isolated {
@@ -157,6 +161,7 @@ impl<'s> ConfigEngine<'s> {
157
161
}
158
162
159
163
pub fn init_dir ( & mut self , cwd : & std:: path:: Path ) -> Result < ( ) , anyhow:: Error > {
164
+ debug_assert ! ( cwd. is_absolute( ) , "{} is not absolute" , cwd. display( ) ) ;
160
165
if self . configs . contains_key ( cwd) {
161
166
return Ok ( ( ) ) ;
162
167
}
@@ -380,7 +385,7 @@ mod test {
380
385
} ;
381
386
engine. set_overrides ( config) ;
382
387
383
- let cwd = std:: path:: Path :: new ( "." ) ;
388
+ let cwd = std:: path:: Path :: new ( "." ) . canonicalize ( ) . unwrap ( ) ;
384
389
let loaded = engine. load_config ( & cwd) . unwrap ( ) ;
385
390
assert_eq ! ( loaded. default . binary, Some ( false ) ) ;
386
391
assert_eq ! ( loaded. default . check_filename, Some ( true ) ) ;
@@ -414,7 +419,7 @@ mod test {
414
419
} ;
415
420
engine. set_overrides ( config) ;
416
421
417
- let cwd = std:: path:: Path :: new ( "." ) ;
422
+ let cwd = std:: path:: Path :: new ( "." ) . canonicalize ( ) . unwrap ( ) ;
418
423
let result = engine. init_dir ( & cwd) ;
419
424
assert ! ( result. is_err( ) ) ;
420
425
}
@@ -428,7 +433,7 @@ mod test {
428
433
let config = crate :: config:: Config :: default ( ) ;
429
434
engine. set_overrides ( config) ;
430
435
431
- let cwd = std:: path:: Path :: new ( "." ) ;
436
+ let cwd = std:: path:: Path :: new ( "." ) . canonicalize ( ) . unwrap ( ) ;
432
437
engine. init_dir ( & cwd) . unwrap ( ) ;
433
438
let policy = engine. policy ( & cwd. join ( "Cargo.toml" ) ) ;
434
439
assert ! ( !policy. binary) ;
@@ -460,7 +465,7 @@ mod test {
460
465
} ;
461
466
engine. set_overrides ( config) ;
462
467
463
- let cwd = std:: path:: Path :: new ( "." ) ;
468
+ let cwd = std:: path:: Path :: new ( "." ) . canonicalize ( ) . unwrap ( ) ;
464
469
engine. init_dir ( & cwd) . unwrap ( ) ;
465
470
let policy = engine. policy ( & cwd. join ( "Cargo.toml" ) ) ;
466
471
assert ! ( policy. binary) ;
@@ -492,7 +497,7 @@ mod test {
492
497
} ;
493
498
engine. set_overrides ( config) ;
494
499
495
- let cwd = std:: path:: Path :: new ( "." ) ;
500
+ let cwd = std:: path:: Path :: new ( "." ) . canonicalize ( ) . unwrap ( ) ;
496
501
engine. init_dir ( & cwd) . unwrap ( ) ;
497
502
let policy = engine. policy ( & cwd. join ( "Cargo.toml" ) ) ;
498
503
assert ! ( policy. binary) ;
0 commit comments