mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
7a7357dae1
This enables docker cp and ADD/COPY docker build support for LCOW. Originally, the graphdriver.Get() interface returned a local path to the container root filesystem. This does not work for LCOW, so the Get() method now returns an interface that LCOW implements to support copying to and from the container. Signed-off-by: Akash Gupta <akagup@microsoft.com>
65 lines
1.3 KiB
Go
65 lines
1.3 KiB
Go
// +build linux
|
|
|
|
package btrfs
|
|
|
|
import (
|
|
"os"
|
|
"path"
|
|
"testing"
|
|
|
|
"github.com/docker/docker/daemon/graphdriver/graphtest"
|
|
)
|
|
|
|
// This avoids creating a new driver for each test if all tests are run
|
|
// Make sure to put new tests between TestBtrfsSetup and TestBtrfsTeardown
|
|
func TestBtrfsSetup(t *testing.T) {
|
|
graphtest.GetDriver(t, "btrfs")
|
|
}
|
|
|
|
func TestBtrfsCreateEmpty(t *testing.T) {
|
|
graphtest.DriverTestCreateEmpty(t, "btrfs")
|
|
}
|
|
|
|
func TestBtrfsCreateBase(t *testing.T) {
|
|
graphtest.DriverTestCreateBase(t, "btrfs")
|
|
}
|
|
|
|
func TestBtrfsCreateSnap(t *testing.T) {
|
|
graphtest.DriverTestCreateSnap(t, "btrfs")
|
|
}
|
|
|
|
func TestBtrfsSubvolDelete(t *testing.T) {
|
|
d := graphtest.GetDriver(t, "btrfs")
|
|
if err := d.CreateReadWrite("test", "", nil); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
defer graphtest.PutDriver(t)
|
|
|
|
dirFS, err := d.Get("test", "")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
defer d.Put("test")
|
|
|
|
dir := dirFS.Path()
|
|
|
|
if err := subvolCreate(dir, "subvoltest"); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if _, err := os.Stat(path.Join(dir, "subvoltest")); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if err := d.Remove("test"); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if _, err := os.Stat(path.Join(dir, "subvoltest")); !os.IsNotExist(err) {
|
|
t.Fatalf("expected not exist error on nested subvol, got: %v", err)
|
|
}
|
|
}
|
|
|
|
func TestBtrfsTeardown(t *testing.T) {
|
|
graphtest.PutDriver(t)
|
|
}
|