util: Add new mkdirall variants for the copy functions

This adds versions that recursively `mkdir` and all don't error as
easily. This works around some bugs we were having with file copying.
This commit is contained in:
James Shubin
2019-07-26 02:52:15 -04:00
parent ed4ee3b58e
commit 98cb570896
4 changed files with 32 additions and 12 deletions

View File

@@ -231,15 +231,15 @@ func TestFs2(t *testing.T) {
var memFs = afero.NewMemMapFs()
if err := util.CopyFs(etcdFs, memFs, "/", "/", false); err != nil {
if err := util.CopyFs(etcdFs, memFs, "/", "/", false, false); err != nil {
t.Errorf("copyfs error: %+v", err)
return
}
if err := util.CopyFs(etcdFs, memFs, "/", "/", true); err != nil {
if err := util.CopyFs(etcdFs, memFs, "/", "/", true, false); err != nil {
t.Errorf("copyfs2 error: %+v", err)
return
}
if err := util.CopyFs(etcdFs, memFs, "/", "/tmp/d1/", false); err != nil {
if err := util.CopyFs(etcdFs, memFs, "/", "/tmp/d1/", false, false); err != nil {
t.Errorf("copyfs3 error: %+v", err)
return
}
@@ -300,11 +300,11 @@ func TestFs3(t *testing.T) {
var memFs = afero.NewMemMapFs()
if err := util.CopyFs(etcdFs, memFs, "/tmp/foo/bar", "/", false); err != nil {
if err := util.CopyFs(etcdFs, memFs, "/tmp/foo/bar", "/", false, false); err != nil {
t.Errorf("copyfs error: %+v", err)
return
}
if err := util.CopyFs(etcdFs, memFs, "/tmp/foo/bar", "/baz/", false); err != nil {
if err := util.CopyFs(etcdFs, memFs, "/tmp/foo/bar", "/baz/", false, false); err != nil {
t.Errorf("copyfs2 error: %+v", err)
return
}
@@ -419,7 +419,7 @@ func TestEtcdCopyFs0(t *testing.T) {
t.Logf("tree: \n%s", tree)
var memFs = afero.NewMemMapFs()
if err := util.CopyFs(etcdFs, memFs, tt.cpsrc, tt.cpdst, tt.force); err != nil {
if err := util.CopyFs(etcdFs, memFs, tt.cpsrc, tt.cpdst, tt.force, false); err != nil {
t.Errorf("copyfs error: %+v", err)
return
}