os: fix cp_all mkdir panic (#8680)
parent
375efb0953
commit
65f2420516
|
@ -62,8 +62,10 @@ pub fn cp_all(src string, dst string, overwrite bool) ? {
|
|||
sp := join_path(source_path, file)
|
||||
dp := join_path(dest_path, file)
|
||||
if is_dir(sp) {
|
||||
if !exists(dp) {
|
||||
mkdir(dp) ?
|
||||
}
|
||||
}
|
||||
cp_all(sp, dp, overwrite) or {
|
||||
rmdir(dp) or { return error(err) }
|
||||
return error(err)
|
||||
|
|
|
@ -250,7 +250,7 @@ fn test_mv() {
|
|||
assert os.exists(expected) && !is_dir(expected) == true
|
||||
}
|
||||
|
||||
fn test_cp_r() {
|
||||
fn test_cp_all() {
|
||||
// fileX -> dir/fileX
|
||||
// NB: clean up of the files happens inside the cleanup_leftovers function
|
||||
os.write_file('ex1.txt', 'wow!') or { panic(err) }
|
||||
|
@ -267,6 +267,8 @@ fn test_cp_r() {
|
|||
assert old2 == new2
|
||||
// recurring on dir -> local dir
|
||||
os.cp_all('ex', './', true) or { panic(err) }
|
||||
// regression test for executive runs with overwrite := true
|
||||
os.cp_all('ex', './', true) or { panic(err) }
|
||||
}
|
||||
|
||||
fn test_tmpdir() {
|
||||
|
|
Loading…
Reference in New Issue