zip: skip tests that run 'git init' and 'git config' on plan9 The plan9 'git' command empirically doesn't support one or more of the commands we need to run to create a test repository (https://build.golang.org/log/627dacbfca9e0dfe6b84cf597411e63898b68ec8). Rather than trying to coax it into working with a non-standard git command, just skip the tests that need it. Change-Id: Id20fd21d4a4b9d2d683ba7bdada5efbc17ac08bb Reviewed-on: https://go-review.googlesource.com/c/mod/+/366035 Trust: Bryan C. Mills <bcmills@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Go Bot <gobot@golang.org>
diff --git a/zip/zip_test.go b/zip/zip_test.go index 810c07a..7fbebd5 100644 --- a/zip/zip_test.go +++ b/zip/zip_test.go
@@ -999,7 +999,7 @@ // we should not let that happen accidentally. func TestVCS(t *testing.T) { if testing.Short() { - t.Skip() + t.Skip("skipping VCS cloning in -short mode") } var downloadErrorCount int32 @@ -1213,7 +1213,7 @@ if have, ok := haveVCS[test.vcs]; !ok { t.Fatalf("unknown vcs: %s", test.vcs) } else if !have { - t.Skip() + t.Skipf("no %s executable in path", test.vcs) } t.Parallel() @@ -1723,10 +1723,11 @@ // Note: some environments - and trybots - don't have git installed. This // function will cause the calling test to be skipped if that's the case. func gitInit(t *testing.T, dir string) { - t.Helper() - if _, err := exec.LookPath("git"); err != nil { - t.Skip("PATH does not contain git") + t.Skip("no git executable in path") + } + if runtime.GOOS == "plan9" { + t.Skip("plan9 git does not support the full git command line") } cmd := exec.Command("git", "init") @@ -1752,10 +1753,11 @@ } func gitCommit(t *testing.T, dir string) { - t.Helper() - if _, err := exec.LookPath("git"); err != nil { - t.Skip("PATH does not contain git") + t.Skip("no git executable in path") + } + if runtime.GOOS == "plan9" { + t.Skip("plan9 git does not support the full git command line") } cmd := exec.Command("git", "add", "-A")