1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

os: make os.mkdir_all more robust (honor / on windows too), add a test for it

This commit is contained in:
Delyan Angelov 2021-10-24 19:16:46 +03:00
parent f34daf9ff4
commit e99b699ac6
No known key found for this signature in database
GPG Key ID: 66886C0F12D595ED
2 changed files with 4 additions and 1 deletions

View File

@ -535,7 +535,8 @@ pub fn log(s string) {
}
// mkdir_all will create a valid full path of all directories given in `path`.
pub fn mkdir_all(path string) ? {
pub fn mkdir_all(opath string) ? {
path := opath.replace('/', path_separator)
mut p := if path.starts_with(path_separator) { path_separator } else { '' }
path_parts := path.trim_left(path_separator).split(path_separator)
for subdir in path_parts {

View File

@ -201,6 +201,8 @@ fn test_ls() {
fn create_tree() ? {
os.mkdir_all('myfolder/f1/f2/f3') ?
os.mkdir_all('myfolder/a1/a2/a3') ?
f3 := os.real_path('myfolder/f1/f2/f3')
assert os.is_dir(f3)
create_file('myfolder/f1/f2/f3/a.txt') ?
create_file('myfolder/f1/f2/f3/b.txt') ?
create_file('myfolder/f1/f2/f3/c.txt') ?