mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Merge pull request #48292 from mml/fnord
Automatic merge from submit-queue (batch tested with PRs 48292, 48121) Return a slightly more verbose error when "go get" fails.
This commit is contained in:
		@@ -144,8 +144,9 @@ func (t tester) getKubetest(get bool, old time.Duration) (string, error) {
 | 
			
		||||
		return "", fmt.Errorf("Cannot install kubetest until $GOPATH is set")
 | 
			
		||||
	}
 | 
			
		||||
	log.Print("Updating kubetest binary...")
 | 
			
		||||
	if err = t.wait("go", "get", "-u", "k8s.io/test-infra/kubetest"); err != nil {
 | 
			
		||||
		return "", err // Could not upgrade
 | 
			
		||||
	cmd := []string{"go", "get", "-u", "k8s.io/test-infra/kubetest"}
 | 
			
		||||
	if err = t.wait(cmd[0], cmd[1:]...); err != nil {
 | 
			
		||||
		return "", fmt.Errorf("%s: %v", strings.Join(cmd, " "), err) // Could not upgrade
 | 
			
		||||
	}
 | 
			
		||||
	if p, err = t.lookKubetest(); err != nil {
 | 
			
		||||
		return "", err // Cannot find kubetest
 | 
			
		||||
 
 | 
			
		||||
@@ -190,8 +190,10 @@ func TestGetKubetest(t *testing.T) {
 | 
			
		||||
	p := "PATH"
 | 
			
		||||
	pk := filepath.Join(p, "kubetest")
 | 
			
		||||
	eu := errors.New("upgrade failed")
 | 
			
		||||
	euVerbose := fmt.Errorf("go get -u k8s.io/test-infra/kubetest: %v", eu)
 | 
			
		||||
	et := errors.New("touch failed")
 | 
			
		||||
	cases := []struct {
 | 
			
		||||
		name string
 | 
			
		||||
		get  bool
 | 
			
		||||
		old  time.Duration
 | 
			
		||||
 | 
			
		||||
@@ -205,7 +207,7 @@ func TestGetKubetest(t *testing.T) {
 | 
			
		||||
		returnPath  string
 | 
			
		||||
		returnError error
 | 
			
		||||
	}{
 | 
			
		||||
		{ // 0: Pass when on GOPATH/bin
 | 
			
		||||
		{name: "0: Pass when on GOPATH/bin",
 | 
			
		||||
			get: false,
 | 
			
		||||
			old: 0,
 | 
			
		||||
 | 
			
		||||
@@ -219,7 +221,7 @@ func TestGetKubetest(t *testing.T) {
 | 
			
		||||
			returnPath:  gpk,
 | 
			
		||||
			returnError: nil,
 | 
			
		||||
		},
 | 
			
		||||
		{ // 1: Pass when on PATH
 | 
			
		||||
		{name: "1: Pass when on PATH",
 | 
			
		||||
			get: false,
 | 
			
		||||
			old: 0,
 | 
			
		||||
 | 
			
		||||
@@ -233,7 +235,7 @@ func TestGetKubetest(t *testing.T) {
 | 
			
		||||
			returnPath:  pk,
 | 
			
		||||
			returnError: nil,
 | 
			
		||||
		},
 | 
			
		||||
		{ // 2: Don't upgrade if on PATH and GOPATH is ""
 | 
			
		||||
		{name: "2: Don't upgrade if on PATH and GOPATH is ''",
 | 
			
		||||
			get: true,
 | 
			
		||||
			old: 0,
 | 
			
		||||
 | 
			
		||||
@@ -247,7 +249,7 @@ func TestGetKubetest(t *testing.T) {
 | 
			
		||||
			returnPath:  pk,
 | 
			
		||||
			returnError: nil,
 | 
			
		||||
		},
 | 
			
		||||
		{ // 3: Don't upgrade on PATH when young.
 | 
			
		||||
		{name: "3: Don't upgrade on PATH when young.",
 | 
			
		||||
			get: true,
 | 
			
		||||
			old: time.Hour,
 | 
			
		||||
 | 
			
		||||
@@ -261,7 +263,7 @@ func TestGetKubetest(t *testing.T) {
 | 
			
		||||
			returnPath:  pk,
 | 
			
		||||
			returnError: nil,
 | 
			
		||||
		},
 | 
			
		||||
		{ // 4: Upgrade if old but GOPATH is set.
 | 
			
		||||
		{name: "4: Upgrade if old but GOPATH is set.",
 | 
			
		||||
			get: true,
 | 
			
		||||
			old: 0,
 | 
			
		||||
 | 
			
		||||
@@ -275,7 +277,7 @@ func TestGetKubetest(t *testing.T) {
 | 
			
		||||
			returnPath:  pk,
 | 
			
		||||
			returnError: nil,
 | 
			
		||||
		},
 | 
			
		||||
		{ // 5: Fail if upgrade fails
 | 
			
		||||
		{name: "5: Fail if upgrade fails",
 | 
			
		||||
			get: true,
 | 
			
		||||
			old: 0,
 | 
			
		||||
 | 
			
		||||
@@ -287,9 +289,9 @@ func TestGetKubetest(t *testing.T) {
 | 
			
		||||
			goPath:   gpk,
 | 
			
		||||
 | 
			
		||||
			returnPath:  "",
 | 
			
		||||
			returnError: eu,
 | 
			
		||||
			returnError: euVerbose,
 | 
			
		||||
		},
 | 
			
		||||
		{ // 6: Fail if touch fails
 | 
			
		||||
		{name: "6: Fail if touch fails",
 | 
			
		||||
			get: true,
 | 
			
		||||
			old: 0,
 | 
			
		||||
 | 
			
		||||
@@ -309,21 +311,21 @@ func TestGetKubetest(t *testing.T) {
 | 
			
		||||
		didUp := false
 | 
			
		||||
		didTouch := false
 | 
			
		||||
		l := tester{
 | 
			
		||||
			func(p string) (os.FileInfo, error) {
 | 
			
		||||
			stat: func(p string) (os.FileInfo, error) {
 | 
			
		||||
				// stat
 | 
			
		||||
				if p != c.stat {
 | 
			
		||||
					return nil, fmt.Errorf("Failed to find %s", p)
 | 
			
		||||
				}
 | 
			
		||||
				return FileInfo{time.Now().Add(c.age * -1)}, nil
 | 
			
		||||
			},
 | 
			
		||||
			func(name string) (string, error) {
 | 
			
		||||
			lookPath: func(name string) (string, error) {
 | 
			
		||||
				if c.path {
 | 
			
		||||
					return filepath.Join(p, name), nil
 | 
			
		||||
				}
 | 
			
		||||
				return "", fmt.Errorf("Not on path: %s", name)
 | 
			
		||||
			},
 | 
			
		||||
			c.goPath,
 | 
			
		||||
			func(cmd string, args ...string) error {
 | 
			
		||||
			goPath: c.goPath,
 | 
			
		||||
			wait: func(cmd string, args ...string) error {
 | 
			
		||||
				if cmd == "go" {
 | 
			
		||||
					if c.upgraded {
 | 
			
		||||
						didUp = true
 | 
			
		||||
@@ -338,14 +340,24 @@ func TestGetKubetest(t *testing.T) {
 | 
			
		||||
				return et
 | 
			
		||||
			},
 | 
			
		||||
		}
 | 
			
		||||
		if p, e := l.getKubetest(c.get, c.old); p != c.returnPath || e != c.returnError {
 | 
			
		||||
			t.Errorf("%d: c=%v p=%v e=%v", i, c, p, e)
 | 
			
		||||
		p, e := l.getKubetest(c.get, c.old)
 | 
			
		||||
		if p != c.returnPath {
 | 
			
		||||
			t.Errorf("%d: test=%q returnPath %q != %q", i, c.name, p, c.returnPath)
 | 
			
		||||
		}
 | 
			
		||||
		if e == nil || c.returnError == nil {
 | 
			
		||||
			if e != c.returnError {
 | 
			
		||||
				t.Errorf("%d: test=%q returnError %q != %q", i, c.name, e, c.returnError)
 | 
			
		||||
			}
 | 
			
		||||
		} else {
 | 
			
		||||
			if e.Error() != c.returnError.Error() {
 | 
			
		||||
				t.Errorf("%d: test=%q returnError %q != %q", i, c.name, e, c.returnError)
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		if didUp != c.upgraded {
 | 
			
		||||
			t.Errorf("%d: bad upgrade state of %v", i, didUp)
 | 
			
		||||
			t.Errorf("%d: test=%q bad upgrade state of %v", i, c.name, didUp)
 | 
			
		||||
		}
 | 
			
		||||
		if didTouch != c.touched {
 | 
			
		||||
			t.Errorf("%d: bad touch state of %v", i, didTouch)
 | 
			
		||||
			t.Errorf("%d: test=%q bad touch state of %v", i, c.name, didTouch)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user