瀏覽代碼

Merge pull request #7448 from tiborvass/fix-tmpdir-integration-tests

Fix tmpdir integration tests
unclejack 11 年之前
父節點
當前提交
c9ca37dfe9
共有 2 個文件被更改,包括 8 次插入8 次删除
  1. 6 8
      integration-cli/docker_cli_build_test.go
  2. 2 0
      integration/runtime_test.go

+ 6 - 8
integration-cli/docker_cli_build_test.go

@@ -1317,7 +1317,7 @@ func TestBuildEntrypointRunCleanup(t *testing.T) {
 	logDone("build - cleanup cmd after RUN")
 }
 
-func TestBuldForbiddenContextPath(t *testing.T) {
+func TestBuildForbiddenContextPath(t *testing.T) {
 	name := "testbuildforbidpath"
 	defer deleteImages(name)
 	ctx, err := fakeContext(`FROM scratch
@@ -1327,18 +1327,16 @@ func TestBuldForbiddenContextPath(t *testing.T) {
 			"test.txt":  "test1",
 			"other.txt": "other",
 		})
-
 	defer ctx.Close()
 	if err != nil {
 		t.Fatal(err)
 	}
-	if _, err := buildImageFromContext(name, ctx, true); err != nil {
-		if !strings.Contains(err.Error(), "Forbidden path outside the build context: ../../ (/)") {
-			t.Fatal("Wrong error, must be about forbidden ../../ path")
-		}
-	} else {
-		t.Fatal("Error must not be nil")
+
+	expected := "Forbidden path outside the build context: ../../ "
+	if _, err := buildImageFromContext(name, ctx, true); err == nil || !strings.Contains(err.Error(), expected) {
+		t.Fatalf("Wrong error: (should contain \"%s\") got:\n%v", expected, err)
 	}
+
 	logDone("build - forbidden context path")
 }
 

+ 2 - 0
integration/runtime_test.go

@@ -31,6 +31,7 @@ const (
 	unitTestImageIDShort     = "83599e29c455"
 	unitTestNetworkBridge    = "testdockbr0"
 	unitTestStoreBase        = "/var/lib/docker/unit-tests"
+	unitTestDockerTmpdir     = "/var/lib/docker/tmp"
 	testDaemonAddr           = "127.0.0.1:4270"
 	testDaemonProto          = "tcp"
 	testDaemonHttpsProto     = "tcp"
@@ -90,6 +91,7 @@ func init() {
 	// To test other drivers, we need a dedicated driver validation suite.
 	os.Setenv("DOCKER_DRIVER", "vfs")
 	os.Setenv("TEST", "1")
+	os.Setenv("DOCKER_TMPDIR", unitTestDockerTmpdir)
 
 	// Hack to run sys init during unit testing
 	if selfPath := utils.SelfPath(); strings.Contains(selfPath, ".dockerinit") {