diff options
| author | Dawid Ciężarkiewicz <dpc@dpc.pw> | 2017-03-14 22:03:00 -0700 |
|---|---|---|
| committer | Dawid Ciężarkiewicz <dpc@dpc.pw> | 2017-03-17 20:15:05 -0700 |
| commit | b5d590b3f0483bc943df8f59011b85500456d748 (patch) | |
| tree | 2f0dc87f270be6613c984aff499cc464ab0bd700 /src/libstd | |
| parent | bcae6a3734cdcecffc3ee30981a5b9107bee2ee0 (diff) | |
| download | rust-b5d590b3f0483bc943df8f59011b85500456d748.tar.gz rust-b5d590b3f0483bc943df8f59011b85500456d748.zip | |
Fix `create_dir_all("")`
Add a test for `""` and `"."`.
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/fs.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libstd/fs.rs b/src/libstd/fs.rs index 59a6a99201f..cc9df743ef1 100644 --- a/src/libstd/fs.rs +++ b/src/libstd/fs.rs @@ -1775,6 +1775,10 @@ impl DirBuilder { } fn create_dir_all(&self, path: &Path) -> io::Result<()> { + if path == Path::new("") { + return Ok(()) + } + match self.inner.mkdir(path) { Ok(()) => return Ok(()), Err(ref e) if e.kind() == io::ErrorKind::NotFound => {} @@ -2303,6 +2307,16 @@ mod tests { } #[test] + fn recursive_mkdir_dot() { + check!(fs::create_dir_all(&Path::new("."))); + } + + #[test] + fn recursive_mkdir_empty() { + check!(fs::create_dir_all(&Path::new(""))); + } + + #[test] fn recursive_rmdir() { let tmpdir = tmpdir(); let d1 = tmpdir.join("d1"); |
