Kaynağa Gözat

Merge pull request #10871 from ahmetalpbalkan/win-cli/TestBuildAddBadLinks-fix

integ-cli: Fix TestBuildAddBadLinks for windows
Alexander Morozov 10 yıl önce
ebeveyn
işleme
4ba1128c18
1 değiştirilmiş dosya ile 16 ekleme ve 1 silme
  1. 16 1
      integration-cli/docker_cli_build_test.go

+ 16 - 1
integration-cli/docker_cli_build_test.go

@@ -12,6 +12,7 @@ import (
 	"path/filepath"
 	"reflect"
 	"regexp"
+	"runtime"
 	"strconv"
 	"strings"
 	"syscall"
@@ -1568,7 +1569,21 @@ func TestBuildAddBadLinks(t *testing.T) {
 	}
 	defer os.RemoveAll(tempDir)
 
-	symlinkTarget := fmt.Sprintf("/../../../../../../../../../../../..%s", tempDir)
+	var symlinkTarget string
+	if runtime.GOOS == "windows" {
+		var driveLetter string
+		if abs, err := filepath.Abs(tempDir); err != nil {
+			t.Fatal(err)
+		} else {
+			driveLetter = abs[:1]
+		}
+		tempDirWithoutDrive := tempDir[2:]
+		symlinkTarget = fmt.Sprintf(`%s:\..\..\..\..\..\..\..\..\..\..\..\..%s`, driveLetter, tempDirWithoutDrive)
+	} else {
+		symlinkTarget = fmt.Sprintf("/../../../../../../../../../../../..%s", tempDir)
+	}
+
+	t.Logf("***=== %s", symlinkTarget)
 	tarPath := filepath.Join(ctx.Dir, "links.tar")
 	nonExistingFile := filepath.Join(tempDir, targetFile)
 	fooPath := filepath.Join(ctx.Dir, targetFile)