فهرست منبع

aufs: Skip tests if aufs not supported

This makes it possible to pass the rest of the testsuite without aufs in the kernel.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
Alexander Larsson 11 سال پیش
والد
کامیت
9e28c3e3f8
2فایلهای تغییر یافته به همراه22 افزوده شده و 15 حذف شده
  1. 5 1
      graphdriver/aufs/aufs.go
  2. 17 14
      graphdriver/aufs/aufs_test.go

+ 5 - 1
graphdriver/aufs/aufs.go

@@ -34,6 +34,10 @@ import (
 	"sync"
 	"sync"
 )
 )
 
 
+var (
+	ErrAufsNotSupported = fmt.Errorf("AUFS was not found in /proc/filesystems")
+)
+
 func init() {
 func init() {
 	graphdriver.Register("aufs", Init)
 	graphdriver.Register("aufs", Init)
 }
 }
@@ -100,7 +104,7 @@ func supportsAufs() error {
 			return nil
 			return nil
 		}
 		}
 	}
 	}
-	return fmt.Errorf("AUFS was not found in /proc/filesystems")
+	return ErrAufsNotSupported
 }
 }
 
 
 func (a Driver) rootPath() string {
 func (a Driver) rootPath() string {

+ 17 - 14
graphdriver/aufs/aufs_test.go

@@ -5,6 +5,7 @@ import (
 	"encoding/hex"
 	"encoding/hex"
 	"fmt"
 	"fmt"
 	"github.com/dotcloud/docker/archive"
 	"github.com/dotcloud/docker/archive"
+	"github.com/dotcloud/docker/graphdriver"
 	"io/ioutil"
 	"io/ioutil"
 	"os"
 	"os"
 	"path"
 	"path"
@@ -15,15 +16,24 @@ var (
 	tmp = path.Join(os.TempDir(), "aufs-tests", "aufs")
 	tmp = path.Join(os.TempDir(), "aufs-tests", "aufs")
 )
 )
 
 
+func testInit(dir string, t *testing.T) graphdriver.Driver {
+	d, err := Init(dir)
+	if err != nil {
+		if err == ErrAufsNotSupported {
+			t.Skip(err)
+		} else {
+			t.Fatal(err)
+		}
+	}
+	return d
+}
+
 func newDriver(t *testing.T) *Driver {
 func newDriver(t *testing.T) *Driver {
 	if err := os.MkdirAll(tmp, 0755); err != nil {
 	if err := os.MkdirAll(tmp, 0755); err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
 
 
-	d, err := Init(tmp)
-	if err != nil {
-		t.Fatal(err)
-	}
+	d := testInit(tmp, t)
 	return d.(*Driver)
 	return d.(*Driver)
 }
 }
 
 
@@ -32,10 +42,7 @@ func TestNewDriver(t *testing.T) {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
 
 
-	d, err := Init(tmp)
-	if err != nil {
-		t.Fatal(err)
-	}
+	d := testInit(tmp, t)
 	defer os.RemoveAll(tmp)
 	defer os.RemoveAll(tmp)
 	if d == nil {
 	if d == nil {
 		t.Fatalf("Driver should not be nil")
 		t.Fatalf("Driver should not be nil")
@@ -74,12 +81,8 @@ func TestNewDriverFromExistingDir(t *testing.T) {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
 
 
-	if _, err := Init(tmp); err != nil {
-		t.Fatal(err)
-	}
-	if _, err := Init(tmp); err != nil {
-		t.Fatal(err)
-	}
+	testInit(tmp, t)
+	testInit(tmp, t)
 	os.RemoveAll(tmp)
 	os.RemoveAll(tmp)
 }
 }