btrfs_test.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. dirFS, err := d.Get("test", "")
  30. if err != nil {
  31. t.Fatal(err)
  32. }
  33. defer d.Put("test")
  34. dir := dirFS.Path()
  35. if err := subvolCreate(dir, "subvoltest"); err != nil {
  36. t.Fatal(err)
  37. }
  38. if _, err := os.Stat(path.Join(dir, "subvoltest")); err != nil {
  39. t.Fatal(err)
  40. }
  41. if err := d.Remove("test"); err != nil {
  42. t.Fatal(err)
  43. }
  44. if _, err := os.Stat(path.Join(dir, "subvoltest")); !os.IsNotExist(err) {
  45. t.Fatalf("expected not exist error on nested subvol, got: %v", err)
  46. }
  47. }
  48. func TestBtrfsTeardown(t *testing.T) {
  49. graphtest.PutDriver(t)
  50. }