Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Cai <jcai@gitlab.com>2019-06-20 23:15:53 +0300
committerJohn Cai <jcai@gitlab.com>2019-06-20 23:15:53 +0300
commit348541f4c75009e328613fb3b38547edc14fd997 (patch)
tree6c1b26afd26460740d148e584ed67c5900904f9c
parent2471571e8f3195b0f2ae84d6e4a2d47d3cfa03a2 (diff)
parent2a06333fd44f07d4a66026be9e1811b8d62fe639 (diff)
Merge branch 'jv-size-tests' into 'master'
Simplify tests of RepositorySize and GetObjectDirectorySize See merge request gitlab-org/gitaly!1320
-rw-r--r--internal/service/repository/size_test.go43
1 files changed, 16 insertions, 27 deletions
diff --git a/internal/service/repository/size_test.go b/internal/service/repository/size_test.go
index 7fa08c243..48dbc9f84 100644
--- a/internal/service/repository/size_test.go
+++ b/internal/service/repository/size_test.go
@@ -2,17 +2,18 @@ package repository
import (
"context"
- "os"
- "path"
"testing"
"github.com/stretchr/testify/require"
"gitlab.com/gitlab-org/gitaly-proto/go/gitalypb"
- "gitlab.com/gitlab-org/gitaly/internal/config"
"gitlab.com/gitlab-org/gitaly/internal/testhelper"
"google.golang.org/grpc/codes"
)
+// We assume that the combined size of the Git objects in the test
+// repository, even in optimally packed state, is greater than this.
+const testRepoMinSizeKB = 10000
+
func TestSuccessfulRepositorySizeRequest(t *testing.T) {
server, serverSocketPath := runRepoServer(t)
defer server.Stop()
@@ -20,33 +21,19 @@ func TestSuccessfulRepositorySizeRequest(t *testing.T) {
client, conn := newRepositoryClient(t, serverSocketPath)
defer conn.Close()
- storageName := "default"
- storagePath, found := config.StoragePath(storageName)
- if !found {
- t.Fatalf("No %q storage was found", storageName)
- }
+ repo := testhelper.TestRepository()
- repoCopyPath := path.Join(storagePath, "fixed-size-repo.git")
- testhelper.MustRunCommand(t, nil, "cp", "-R", "testdata/fixed-size-repo.git", repoCopyPath)
- // run `sync` because some filesystems (e.g. ZFS and BTRFS) do lazy-writes
- // which leads to `du` returning 0 bytes used until it's finally written to disk.
- testhelper.MustRunCommand(t, nil, "sync")
- defer os.RemoveAll(repoCopyPath)
-
- request := &gitalypb.RepositorySizeRequest{
- Repository: &gitalypb.Repository{
- StorageName: storageName,
- RelativePath: "fixed-size-repo.git",
- },
- }
+ request := &gitalypb.RepositorySizeRequest{Repository: repo}
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
response, err := client.RepositorySize(ctx, request)
require.NoError(t, err)
- // We can't test for an exact size because it will be different for systems with different sector sizes,
- // so we settle for anything greater than zero.
- require.True(t, response.Size > 0, "size must be greater than zero")
+
+ require.True(t,
+ response.Size > testRepoMinSizeKB,
+ "repository size %d should be at least %d", response.Size, testRepoMinSizeKB,
+ )
}
func TestFailedRepositorySizeRequest(t *testing.T) {
@@ -99,7 +86,9 @@ func TestSuccessfulGetObjectDirectorySizeRequest(t *testing.T) {
response, err := client.GetObjectDirectorySize(ctx, request)
require.NoError(t, err)
- // We can't test for an exact size because it will be different for systems with different sector sizes,
- // so we settle for anything greater than zero.
- require.True(t, response.Size > 0, "size must be greater than zero")
+
+ require.True(t,
+ response.Size > testRepoMinSizeKB,
+ "repository size %d should be at least %d", response.Size, testRepoMinSizeKB,
+ )
}