Browse Source

Move utils.TestDirectory to pkg/testutil/tempfile

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Vincent Demeester 8 years ago
parent
commit
0ab9320ab2
3 changed files with 40 additions and 48 deletions
  1. 39 2
      distribution/registry_unit_test.go
  2. 1 2
      pkg/testutil/tempfile/tempfile.go
  3. 0 44
      utils/utils.go

+ 39 - 2
distribution/registry_unit_test.go

@@ -1,19 +1,23 @@
 package distribution
 
 import (
+	"fmt"
+	"io/ioutil"
 	"net/http"
 	"net/http/httptest"
 	"net/url"
 	"os"
+	"runtime"
 	"strings"
 	"testing"
 
 	"github.com/Sirupsen/logrus"
 	"github.com/docker/docker/api/types"
 	registrytypes "github.com/docker/docker/api/types/registry"
+	"github.com/docker/docker/pkg/archive"
+	"github.com/docker/docker/pkg/stringid"
 	"github.com/docker/docker/reference"
 	"github.com/docker/docker/registry"
-	"github.com/docker/docker/utils"
 	"golang.org/x/net/context"
 )
 
@@ -38,7 +42,7 @@ func (h *tokenPassThruHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
 }
 
 func testTokenPassThru(t *testing.T, ts *httptest.Server) {
-	tmp, err := utils.TestDirectory("")
+	tmp, err := testDirectory("")
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -131,3 +135,36 @@ func TestTokenPassThruDifferentHost(t *testing.T) {
 		t.Fatal("Redirect should not forward Authorization header to another host")
 	}
 }
+
+// TestDirectory creates a new temporary directory and returns its path.
+// The contents of directory at path `templateDir` is copied into the
+// new directory.
+func testDirectory(templateDir string) (dir string, err error) {
+	testID := stringid.GenerateNonCryptoID()[:4]
+	prefix := fmt.Sprintf("docker-test%s-%s-", testID, getCallerName(2))
+	if prefix == "" {
+		prefix = "docker-test-"
+	}
+	dir, err = ioutil.TempDir("", prefix)
+	if err = os.Remove(dir); err != nil {
+		return
+	}
+	if templateDir != "" {
+		if err = archive.CopyWithTar(templateDir, dir); err != nil {
+			return
+		}
+	}
+	return
+}
+
+// getCallerName introspects the call stack and returns the name of the
+// function `depth` levels down in the stack.
+func getCallerName(depth int) string {
+	// Use the caller function name as a prefix.
+	// This helps trace temp directories back to their test.
+	pc, _, _, _ := runtime.Caller(depth + 1)
+	callerLongName := runtime.FuncForPC(pc).Name()
+	parts := strings.Split(callerLongName, ".")
+	callerShortName := parts[len(parts)-1]
+	return callerShortName
+}

+ 1 - 2
pkg/testutil/tempfile/tempfile.go

@@ -1,10 +1,9 @@
 package tempfile
 
 import (
+	"github.com/docker/docker/pkg/testutil/assert"
 	"io/ioutil"
 	"os"
-
-	"github.com/docker/docker/pkg/testutil/assert"
 )
 
 // TempFile is a temporary file that can be used with unit tests. TempFile

+ 0 - 44
utils/utils.go

@@ -1,53 +1,9 @@
 package utils
 
 import (
-	"fmt"
-	"io/ioutil"
-	"os"
-	"runtime"
 	"strings"
-
-	"github.com/docker/docker/pkg/archive"
-	"github.com/docker/docker/pkg/stringid"
 )
 
-var globalTestID string
-
-// TestDirectory creates a new temporary directory and returns its path.
-// The contents of directory at path `templateDir` is copied into the
-// new directory.
-func TestDirectory(templateDir string) (dir string, err error) {
-	if globalTestID == "" {
-		globalTestID = stringid.GenerateNonCryptoID()[:4]
-	}
-	prefix := fmt.Sprintf("docker-test%s-%s-", globalTestID, GetCallerName(2))
-	if prefix == "" {
-		prefix = "docker-test-"
-	}
-	dir, err = ioutil.TempDir("", prefix)
-	if err = os.Remove(dir); err != nil {
-		return
-	}
-	if templateDir != "" {
-		if err = archive.CopyWithTar(templateDir, dir); err != nil {
-			return
-		}
-	}
-	return
-}
-
-// GetCallerName introspects the call stack and returns the name of the
-// function `depth` levels down in the stack.
-func GetCallerName(depth int) string {
-	// Use the caller function name as a prefix.
-	// This helps trace temp directories back to their test.
-	pc, _, _, _ := runtime.Caller(depth + 1)
-	callerLongName := runtime.FuncForPC(pc).Name()
-	parts := strings.Split(callerLongName, ".")
-	callerShortName := parts[len(parts)-1]
-	return callerShortName
-}
-
 // ReplaceOrAppendEnvValues returns the defaults with the overrides either
 // replaced by env key or appended to the list
 func ReplaceOrAppendEnvValues(defaults, overrides []string) []string {