diff --git a/snapshot/btrfs_test.go b/snapshot/btrfs_test.go index 2332e69..7fa3a68 100644 --- a/snapshot/btrfs_test.go +++ b/snapshot/btrfs_test.go @@ -53,11 +53,7 @@ func TestBtrfs(t *testing.T) { if err := containerd.MountAll(mounts...); err != nil { t.Fatal(err) } - defer func(mounts []containerd.Mount) { - for _, mount := range mounts { - unmount(t, mount.Target) - } - }(mounts) + defer unmountAll(t, mounts) // write in some data if err := ioutil.WriteFile(filepath.Join(mounts[0].Target, "foo"), []byte("content"), 0777); err != nil { @@ -93,11 +89,7 @@ func TestBtrfs(t *testing.T) { if err := containerd.MountAll(mounts...); err != nil { t.Fatal(err) } - defer func(mounts []containerd.Mount) { - for _, mount := range mounts { - unmount(t, mount.Target) - } - }(mounts) + defer unmountAll(t, mounts) // TODO(stevvooe): Verify contents of "foo" if err := ioutil.WriteFile(filepath.Join(mounts[0].Target, "bar"), []byte("content"), 0777); err != nil { @@ -214,13 +206,3 @@ func removeBtrfsLoopbackDevice(t *testing.T, device *testDevice) { t.Error(err) } } - -func unmount(t *testing.T, mountPoint string) { - t.Log("unmount", mountPoint) - umount := exec.Command("umount", mountPoint) - err := umount.Run() - if err != nil { - - t.Error("Could not umount", mountPoint, err) - } -} diff --git a/snapshot/common_test.go b/snapshot/common_test.go new file mode 100644 index 0000000..27e0d9a --- /dev/null +++ b/snapshot/common_test.go @@ -0,0 +1,24 @@ +package snapshot + +import ( + "os/exec" + "testing" + + "github.com/docker/containerd" +) + +func unmountAll(t *testing.T, mounts []containerd.Mount) { + for _, mount := range mounts { + unmount(t, mount.Target) + } +} + +func unmount(t *testing.T, mountPoint string) { + t.Log("unmount", mountPoint) + umount := exec.Command("umount", mountPoint) + err := umount.Run() + if err != nil { + + t.Error("Could not umount", mountPoint, err) + } +} diff --git a/snapshot/manager_test.go b/snapshot/manager_test.go index 5192f89..992b65e 100644 --- a/snapshot/manager_test.go +++ b/snapshot/manager_test.go @@ -18,7 +18,13 @@ func TestSnapshotManagerBasic(t *testing.T) { if err != nil { t.Fatal(err) } - // defer os.RemoveAll(tmpDir) + defer func() { + t.Log("Removing", tmpDir) + err := os.RemoveAll(tmpDir) + if err != nil { + t.Error(err) + } + }() root := filepath.Join(tmpDir, "root") @@ -52,6 +58,7 @@ func TestSnapshotManagerBasic(t *testing.T) { if err := containerd.MountAll(mounts...); err != nil { t.Fatal(err) } + defer unmountAll(t, mounts) if err := ioutil.WriteFile(filepath.Join(preparing, "foo"), []byte("foo\n"), 0777); err != nil { t.Fatal(err) @@ -59,8 +66,6 @@ func TestSnapshotManagerBasic(t *testing.T) { os.MkdirAll(preparing+"/a/b/c", 0755) - // defer os.Remove(filepath.Join(tmpDir, "foo")) - committed := filepath.Join(lm.root, "committed") if err := lm.Commit(committed, preparing); err != nil { @@ -83,6 +88,7 @@ func TestSnapshotManagerBasic(t *testing.T) { if err := containerd.MountAll(mounts...); err != nil { t.Fatal(err) } + defer unmountAll(t, mounts) for _, mount := range mounts { if !strings.HasPrefix(mount.Target, next) { diff --git a/snapshot/naive_test.go b/snapshot/naive_test.go index 7283d1b..8ab5f88 100644 --- a/snapshot/naive_test.go +++ b/snapshot/naive_test.go @@ -15,7 +15,7 @@ func TestSnapshotNaiveBasic(t *testing.T) { if err != nil { t.Fatal(err) } - // defer os.RemoveAll(tmpDir) + defer os.RemoveAll(tmpDir) t.Log(tmpDir) root := filepath.Join(tmpDir, "root")