diff options
author | Will Chandler <wchandler@gitlab.com> | 2022-08-01 22:05:49 +0300 |
---|---|---|
committer | Will Chandler <wchandler@gitlab.com> | 2022-08-03 18:59:56 +0300 |
commit | d2b98cb27126ae2140e8fdc3974d8c204c911686 (patch) | |
tree | ff17457d0229fcef68cbc454f96d52a742ca7d2f | |
parent | 30c010ce568c2e387728658b752fd65ee4f2a926 (diff) |
localrepo: Don't run case-sensitive test on macOSwc-macos-localrepo-test
macOS uses case-insensitive filesystems (HFS, APFS), so git
default-enables `core.ignorecase`. This causes attempts to create ref
'refs/heads/MASTER' to fail as 'refs/heads/master' already exists, and
makes `TestRepo_GetReferenceWithAmbiguousRefs()` fail on macOS.
Update this test to only execute the 'MASTER' case when not on macOS.
-rw-r--r-- | internal/git/localrepo/refs_test.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/internal/git/localrepo/refs_test.go b/internal/git/localrepo/refs_test.go index c385a8a50..6da5ee98c 100644 --- a/internal/git/localrepo/refs_test.go +++ b/internal/git/localrepo/refs_test.go @@ -7,6 +7,7 @@ import ( "fmt" "os" "path/filepath" + "runtime" "strings" "testing" @@ -123,7 +124,6 @@ func TestRepo_GetReferenceWithAmbiguousRefs(t *testing.T) { for _, ref := range []git.ReferenceName{ "refs/heads/something/master", - "refs/heads/MASTER", "refs/heads/master2", "refs/heads/masterx", "refs/heads/refs/heads/master", @@ -134,6 +134,11 @@ func TestRepo_GetReferenceWithAmbiguousRefs(t *testing.T) { require.NoError(t, repo.UpdateRef(ctx, ref, prevOID, gittest.DefaultObjectHash.ZeroOID)) } + // core.ignorecase is default-enabled on macOS, causing 'MASTER' to match 'master' + if runtime.GOOS != "darwin" { + require.NoError(t, repo.UpdateRef(ctx, "refs/heads/MASTER", prevOID, gittest.DefaultObjectHash.ZeroOID)) + } + ref, err := repo.GetReference(ctx, "refs/heads/master") require.NoError(t, err) require.Equal(t, git.Reference{ |