TestRepository_GetTag intermittently panics due to an NPE (#18043)

There are repeated panics in tests due to TestRepository_GetTag failing
to run properly.  This happens when we attempt to reset the internal
repo for a tag which has failed to load. The problem is - the panic that
this is causing is preventing us from finding what the real error is.

This PR simply moves the failure out so we have a chance to see what
really is failing.

Signed-off-by: Andrew Thornton <art27@cantab.net>

Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
zeripath 2021-12-21 03:10:16 +00:00 committed by GitHub
parent bef93abd49
commit 7cc7f0ed75
Signed by: GitHub
GPG Key ID: 4AEE18F83AFDEB23

@ -50,9 +50,12 @@ func TestRepository_GetTag(t *testing.T) {
aTagID, _ := bareRepo1.GetTagID(aTagName)
lTag, err := bareRepo1.GetTag(lTagName)
lTag.repo = nil
assert.NoError(t, err)
assert.NotNil(t, lTag)
if lTag == nil {
assert.FailNow(t, "nil lTag: %s", lTagName)
}
lTag.repo = nil
assert.EqualValues(t, lTagName, lTag.Name)
assert.EqualValues(t, lTagCommitID, lTag.ID.String())
assert.EqualValues(t, lTagCommitID, lTag.Object.String())
@ -61,6 +64,9 @@ func TestRepository_GetTag(t *testing.T) {
aTag, err := bareRepo1.GetTag(aTagName)
assert.NoError(t, err)
assert.NotNil(t, aTag)
if aTag == nil {
assert.FailNow(t, "nil aTag: %s", aTagName)
}
assert.EqualValues(t, aTagName, aTag.Name)
assert.EqualValues(t, aTagID, aTag.ID.String())
assert.NotEqual(t, aTagID, aTag.Object.String())