]> source.dussan.org Git - gitea.git/commitdiff
Add `TAGS` to `TEST_TAGS` and fix bugs found with gogit (#31791)
authorJason Song <i@wolfogre.com>
Wed, 7 Aug 2024 15:29:08 +0000 (23:29 +0800)
committerGitHub <noreply@github.com>
Wed, 7 Aug 2024 15:29:08 +0000 (11:29 -0400)
Found at
https://github.com/go-gitea/gitea/pull/31790#issuecomment-2272898915

`unit-tests-gogit` never work since the workflow set `TAGS` with
`gogit`, but the Makefile use `TEST_TAGS`.

This PR adds the values of `TAGS` to `TEST_TAGS`, ensuring that setting
`TAGS` is always acceptable and avoiding confusion about which one
should be set.

Makefile
modules/git/blame_sha256_test.go
modules/git/repo_tree_gogit.go

index 378de6e8f41e00249a0a50eb7877a5b88951f1d2..0f72f9767342f189e88dc4fe5117e4a5c0eb7ad3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -137,7 +137,7 @@ TAGS ?=
 TAGS_SPLIT := $(subst $(COMMA), ,$(TAGS))
 TAGS_EVIDENCE := $(MAKE_EVIDENCE_DIR)/tags
 
-TEST_TAGS ?= sqlite sqlite_unlock_notify
+TEST_TAGS ?= $(TAGS_SPLIT) sqlite sqlite_unlock_notify
 
 TAR_EXCLUDES := .git data indexers queues log node_modules $(EXECUTABLE) $(FOMANTIC_WORK_DIR)/node_modules $(DIST) $(MAKE_EVIDENCE_DIR) $(AIR_TMP_DIR) $(GO_LICENSE_TMP_DIR)
 
index 8cd345714f30ba332ec773a527c26af1610ea31f..da451f22fc5e185311a0f64e90f15051df96a288 100644 (file)
@@ -14,6 +14,11 @@ func TestReadingBlameOutputSha256(t *testing.T) {
        ctx, cancel := context.WithCancel(context.Background())
        defer cancel()
 
+       if isGogit {
+               t.Skip("Skipping test since gogit does not support sha256")
+               return
+       }
+
        t.Run("Without .git-blame-ignore-revs", func(t *testing.T) {
                repo, err := OpenRepository(ctx, "./tests/repos/repo5_pulls_sha256")
                assert.NoError(t, err)
index dc97ce13441c92daefc6f1c55227500c99e4e529..651794a5aafbe07b227028bc8c066ff3285188f2 100644 (file)
@@ -6,11 +6,20 @@
 
 package git
 
-import "github.com/go-git/go-git/v5/plumbing"
+import (
+       "errors"
+
+       "github.com/go-git/go-git/v5/plumbing"
+)
 
 func (repo *Repository) getTree(id ObjectID) (*Tree, error) {
        gogitTree, err := repo.gogitRepo.TreeObject(plumbing.Hash(id.RawValue()))
        if err != nil {
+               if errors.Is(err, plumbing.ErrObjectNotFound) {
+                       return nil, ErrNotExist{
+                               ID: id.String(),
+                       }
+               }
                return nil, err
        }