btrfs_test.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // +build linux
  2. package btrfs
  3. import (
  4. "os"
  5. "path"
  6. "testing"
  7. "github.com/docker/docker/daemon/graphdriver/graphtest"
  8. )
  9. // This avoids creating a new driver for each test if all tests are run
  10. // Make sure to put new tests between TestBtrfsSetup and TestBtrfsTeardown
  11. func TestBtrfsSetup(t *testing.T) {
  12. graphtest.GetDriver(t, "btrfs")
  13. }
  14. func TestBtrfsCreateEmpty(t *testing.T) {
  15. graphtest.DriverTestCreateEmpty(t, "btrfs")
  16. }
  17. func TestBtrfsCreateBase(t *testing.T) {
  18. graphtest.DriverTestCreateBase(t, "btrfs")
  19. }
  20. func TestBtrfsCreateSnap(t *testing.T) {
  21. graphtest.DriverTestCreateSnap(t, "btrfs")
  22. }
  23. func TestBtrfsSubvolDelete(t *testing.T) {
  24. d := graphtest.GetDriver(t, "btrfs")
  25. if err := d.CreateReadWrite("test", "", "", nil); err != nil {
  26. t.Fatal(err)
  27. }
  28. defer graphtest.PutDriver(t)
  29. dir, err := d.Get("test", "")
  30. if err != nil {
  31. t.Fatal(err)
  32. }
  33. defer d.Put("test")
  34. if err := subvolCreate(dir, "subvoltest"); err != nil {
  35. t.Fatal(err)
  36. }
  37. if _, err := os.Stat(path.Join(dir, "subvoltest")); err != nil {
  38. t.Fatal(err)
  39. }
  40. if err := d.Remove("test"); err != nil {
  41. t.Fatal(err)
  42. }
  43. if _, err := os.Stat(path.Join(dir, "subvoltest")); !os.IsNotExist(err) {
  44. t.Fatalf("expected not exist error on nested subvol, got: %v", err)
  45. }
  46. }
  47. func TestBtrfsTeardown(t *testing.T) {
  48. graphtest.PutDriver(t)
  49. }