1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Windows: Fix failing unit tests

Signed-off-by: John Howard <jhoward@microsoft.com>
This commit is contained in:
John Howard 2016-04-06 13:42:15 -07:00
parent 40ccb7114e
commit ccd0da908a
2 changed files with 11 additions and 4 deletions

View file

@ -174,7 +174,7 @@ func GetContextFromLocalDir(localDir, dockerfileName string) (absContextDir, rel
// the dockerfile in that context directory, and a non-nil error on success. // the dockerfile in that context directory, and a non-nil error on success.
func getDockerfileRelPath(givenContextDir, givenDockerfile string) (absContextDir, relDockerfile string, err error) { func getDockerfileRelPath(givenContextDir, givenDockerfile string) (absContextDir, relDockerfile string, err error) {
if absContextDir, err = filepath.Abs(givenContextDir); err != nil { if absContextDir, err = filepath.Abs(givenContextDir); err != nil {
return "", "", fmt.Errorf("unable to get absolute context directory: %v", err) return "", "", fmt.Errorf("unable to get absolute context directory of given context directory %q: %v", givenContextDir, err)
} }
// The context dir might be a symbolic link, so follow it to the actual // The context dir might be a symbolic link, so follow it to the actual

View file

@ -7,6 +7,7 @@ import (
"io/ioutil" "io/ioutil"
"os" "os"
"path/filepath" "path/filepath"
"runtime"
"strings" "strings"
"testing" "testing"
@ -53,7 +54,6 @@ func testValidateContextDirectory(t *testing.T, prepare func(t *testing.T) strin
contextDir := prepare(t) contextDir := prepare(t)
defer os.RemoveAll(contextDir) defer os.RemoveAll(contextDir)
err := ValidateContextDirectory(contextDir, excludes) err := ValidateContextDirectory(contextDir, excludes)
if err != nil { if err != nil {
@ -166,8 +166,7 @@ func TestGetContextFromLocalDirWithNoDirectory(t *testing.T) {
if err != nil { if err != nil {
t.Fatalf("Error when changing directory to %s: %s", contextDir, err) t.Fatalf("Error when changing directory to %s: %s", contextDir, err)
} }
absContextDir, relDockerfile, err := GetContextFromLocalDir(contextDir, "")
absContextDir, relDockerfile, err := GetContextFromLocalDir("", "")
if err != nil { if err != nil {
t.Fatalf("Error when getting context from local dir: %s", err) t.Fatalf("Error when getting context from local dir: %s", err)
@ -400,6 +399,14 @@ func TestGetContextFromReaderTar(t *testing.T) {
} }
func TestValidateContextDirectoryEmptyContext(t *testing.T) { func TestValidateContextDirectoryEmptyContext(t *testing.T) {
// This isn't a valid test on Windows. See https://play.golang.org/p/RR6z6jxR81.
// The test will ultimately end up calling filepath.Abs(""). On Windows,
// golang will error. On Linux, golang will return /. Due to there being
// drive letters on Windows, this is probably the correct behaviour for
// Windows.
if runtime.GOOS == "windows" {
t.Skip("Invalid test on Windows")
}
testValidateContextDirectory(t, prepareEmpty, []string{}) testValidateContextDirectory(t, prepareEmpty, []string{})
} }