Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/review/git-codereview: test consistently failing with git version 2.29.2.454.gaff20da3a2-goog #42926

Closed
bcmills opened this issue Dec 1, 2020 · 6 comments
Labels
FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. Testing An issue that has been verified to require only test changes, not just a test failure.
Milestone

Comments

@bcmills
Copy link
Contributor

bcmills commented Dec 1, 2020

It's not clear to me when or why this started failing, but go test ./... from within the x/review repo consistently fails for me locally:

~/src/golang.org/x/review$ git cr sync

~/src/golang.org/x/review$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

~/src/golang.org/x/review$ git rev-parse HEAD
0edcedeff807fefacf0249cdc78b5db4d956f514

~/src/golang.org/x/review$ go1.15.5 test ./...
--- FAIL: TestLoadAuth (0.36s)
    api_test.go:81: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestCurrentBranch (0.33s)
    branch_test.go:14: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestLocalBranches (0.34s)
    branch_test.go:73: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestAmbiguousRevision (0.36s)
    branch_test.go:100: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestBranchpoint (0.40s)
    branch_test.go:115: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestRebaseWork (0.34s)
    branch_test.go:133: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestBranchpointMerge (0.37s)
    branch_test.go:159: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestChange (0.40s)
    change_test.go:14: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestChangeHEAD (0.36s)
    change_test.go:44: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestChangeAhead (0.38s)
    change_test.go:52: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestChangeAmendCommit (0.40s)
    change_test.go:85: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestChangeFailAmendWithMultiplePending (0.40s)
    change_test.go:97: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestChangeCL (0.38s)
    change_test.go:111: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestChangeWithMessage (0.36s)
    change_test.go:159: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestGofmt (0.39s)
    gofmt_test.go:26: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestGofmtSubdir (0.35s)
    gofmt_test.go:67: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestGofmtSubdirIndexCheckout (0.33s)
    gofmt_test.go:102: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestGofmtUnstaged (0.39s)
    gofmt_test.go:140: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestGofmtAmbiguousRevision (0.39s)
    gofmt_test.go:245: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestGofmtFastForwardMerge (0.37s)
    gofmt_test.go:255: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestHookCommitMsgGerrit (0.36s)
    hook_test.go:19: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestHookCommitMsg (0.39s)
    hook_test.go:58: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestHookCommitMsgIssueRepoRewrite (0.36s)
    hook_test.go:106: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestHookCommitMsgBranchPrefix (0.40s)
    hook_test.go:158: gerrit=false
    hook_test.go:160: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestHookPreCommit (0.38s)
    hook_test.go:222: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestHookChangeGofmt (0.40s)
    hook_test.go:259: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestHookPreCommitDetachedHead (0.39s)
    hook_test.go:290: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestHookPreCommitEnv (0.38s)
    hook_test.go:327: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestHookPreCommitUnstaged (0.36s)
    hook_test.go:342: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestHooks (0.40s)
    hook_test.go:408: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestHooksInWorktree (0.38s)
    hook_test.go:433: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestHooksInSubdir (0.37s)
    hook_test.go:454: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestHooksOverwriteOldCommitMsg (0.40s)
    hook_test.go:475: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestHookCommitMsgFromGit (0.36s)
    hook_test.go:505: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestMail (0.39s)
    mail_test.go:13: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestDoNotMail (0.39s)
    mail_test.go:34: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestDoNotMailTempFiles (0.40s)
    mail_test.go:70: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestMailNonPrintables (0.40s)
    mail_test.go:93: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestMailGitHub (0.36s)
    mail_test.go:115: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestMailAmbiguousRevision (0.39s)
    mail_test.go:126: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestMailMultiple (0.39s)
    mail_test.go:139: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestMailShort (0.37s)
    mail_test.go:181: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestWIP (0.41s)
    mail_test.go:224: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestMailTopic (0.35s)
    mail_test.go:237: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestMailHashtag (0.38s)
    mail_test.go:261: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestMailEmpty (0.41s)
    mail_test.go:289: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestPendingNone (0.36s)
    pending_test.go:21: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestPendingNoneBranch (0.46s)
    pending_test.go:31: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestPendingBasic (0.44s)
    pending_test.go:43: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestPendingComplex (0.37s)
    pending_test.go:61: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestPendingErrors (0.39s)
    pending_test.go:158: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestPendingMultiChange (0.41s)
    pending_test.go:189: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestPendingGerrit (0.39s)
    pending_test.go:244: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestPendingGerritMultiChange (0.39s)
    pending_test.go:334: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestPendingGerritMultiChange15 (0.42s)
    pending_test.go:410: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestSubmitErrors (0.38s)
    submit_test.go:15: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestSubmitTimeout (0.40s)
    submit_test.go:104: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestSubmit (0.40s)
    submit_test.go:125: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestSubmitMultiple (0.36s)
    submit_test.go:170: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestSubmitMultipleNamed (0.36s)
    submit_test.go:181: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestSubmitInteractive (0.42s)
    submit_test.go:196: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestSync (0.40s)
    sync_test.go:10: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
--- FAIL: TestSyncRebase (0.42s)
    sync_test.go:49: in git-origin/, ran [git checkout master] with git version 2.29.2.454.gaff20da3a2-goog
        :
        exit status 1
        error: pathspec 'master' did not match any file(s) known to git
FAIL
FAIL    golang.org/x/review/git-codereview      24.177s
FAIL

CC @golang/release

@bcmills bcmills added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Dec 1, 2020
@gopherbot gopherbot added this to the Unreleased milestone Dec 1, 2020
@ALTree
Copy link
Member

ALTree commented Dec 1, 2020

The tests pass on my machine with git 2.29.2, but if I run

git config --global init.defaultBranch main

then they start failing with the same error you see. So my guess is that you're seeing that failure because you switched the default branch name to main (from master), and the tests are not configured to handle this.

@bcmills bcmills added the Testing An issue that has been verified to require only test changes, not just a test failure. label Dec 1, 2020
@bcmills
Copy link
Contributor Author

bcmills commented Dec 1, 2020

I don't recall having made such a change myself, but it's possible that my site administrator changed the defaults somehow. Either way, the tests should be written such that they don't assume any particular details about the user's global Git configuraton or the default name of the default branch.

@r5d
Copy link
Contributor

r5d commented Jan 4, 2022

@bcmills All but one test pass with the latest stable version of go and git at the time of writing this:

$ git --version
git version 2.34.1
$ git config --global init.defaultBranch
main
$ go version
go version go1.17.5 openbsd/amd64

$ git remote -v
origin  https://go.googlesource.com/review (fetch)
origin  https://go.googlesource.com/review (push)

$ git log -1 --pretty='%H'
b8ead204a2e00eca3f1554da0b908d1d7b7afb9f

$ ls
AUTHORS          CONTRIBUTING.md  CONTRIBUTORS     LICENSE          PATENTS          README.md        codereview.cfg   git-codereview   go.mod

$ go test ./...
--- FAIL: TestSyncRebase (0.67s)
    sync_test.go:70: git-codereview sync
    sync_test.go:88: git-codereview sync
    sync_test.go:88: stderr:
        hint: use --reapply-cherry-picks to include skipped commits
        hint: Disable this message with "git config advice.skippedCherryPicks false"
    sync_test.go:90: unexpected stderr:
        hint: use --reapply-cherry-picks to include skipped commits
        hint: Disable this message with "git config advice.skippedCherryPicks false"
FAIL
FAIL    golang.org/x/review/git-codereview      45.360s
FAIL

If I disable the advice.skippedCherryPicks option for the test client git repos, all tests pass:

diff --git a/git-codereview/util_test.go b/git-codereview/util_test.go
index 2d3bebe..89f91b3 100644
--- a/git-codereview/util_test.go
+++ b/git-codereview/util_test.go
@@ -187,6 +187,7 @@ func newGitTest(t *testing.T) (gt *gitTest) {
 	trun(t, client, "git", "clone", server, ".")
 	trun(t, client, "git", "config", "user.name", "gopher")
 	trun(t, client, "git", "config", "user.email", "gopher@example.com")
+	trun(t, client, "git", "config", "advice.skippedCherryPicks", "false")
 
 	// write stub hooks to keep installHook from installing its own.
 	// If it installs its own, git will look for git-codereview on the current path
$ go test ./...
ok      golang.org/x/review/git-codereview      48.993s

Is it a good idea to disable advice.skippedCherryPicks option for all test client git repos? WDYT?

@bcmills
Copy link
Contributor Author

bcmills commented Jan 5, 2022

@r5d, I think the advice.skippedCherryPicks failure is a separate issue; I'll file it and CC you.

@bcmills
Copy link
Contributor Author

bcmills commented Jan 5, 2022

I am no longer seeing the 'master' did not match any file(s) known to git failure mode. I am not sure whether that means the test is fixed, but this issue is easy enough to reopen if it isn't.

@bcmills
Copy link
Contributor Author

bcmills commented Jan 5, 2022

I suspect this was fixed by CL 279873.

@golang golang locked and limited conversation to collaborators Jan 5, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. Testing An issue that has been verified to require only test changes, not just a test failure.
Projects
None yet
Development

No branches or pull requests

4 participants