Skip to content

Commit d26aee3

Browse files
authored
Slight performance changes to integrations/git_test.go (#11227)
* switch to use pseudorandom generator and stop cloning in pushcreate Signed-off-by: Andrew Thornton <[email protected]> * Add some logging of BranchProtectPRMerge Signed-off-by: Andrew Thornton <[email protected]> * Stop running prepareTestEnv so often for TestAPIGetBranch Signed-off-by: Andrew Thornton <[email protected]>
1 parent 0e799c2 commit d26aee3

File tree

2 files changed

+27
-11
lines changed

2 files changed

+27
-11
lines changed

integrations/api_branch_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ import (
1414
)
1515

1616
func testAPIGetBranch(t *testing.T, branchName string, exists bool) {
17-
defer prepareTestEnv(t)()
18-
1917
session := loginUser(t, "user2")
2018
token := getTokenForLoggedInUser(t, session)
2119
req := NewRequestf(t, "GET", "/api/v1/repos/user2/repo1/branches/%s?token=%s", branchName, token)
@@ -88,6 +86,7 @@ func testAPIDeleteBranch(t *testing.T, branchName string, expectedHTTPStatus int
8886
}
8987

9088
func TestAPIGetBranch(t *testing.T) {
89+
defer prepareTestEnv(t)()
9190
for _, test := range []struct {
9291
BranchName string
9392
Exists bool

integrations/git_test.go

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
package integrations
66

77
import (
8-
"crypto/rand"
98
"fmt"
109
"io/ioutil"
10+
"math/rand"
1111
"net/http"
1212
"net/url"
1313
"os"
@@ -70,6 +70,7 @@ func testGit(t *testing.T, u *url.URL) {
7070

7171
t.Run("BranchProtectMerge", doBranchProtectPRMerge(&httpContext, dstPath))
7272
t.Run("MergeFork", func(t *testing.T) {
73+
defer PrintCurrentTest(t)()
7374
t.Run("CreatePRAndMerge", doMergeFork(httpContext, forkedUserCtx, "master", httpContext.Username+":master"))
7475
rawTest(t, &forkedUserCtx, little, big, littleLFS, bigLFS)
7576
mediaTest(t, &forkedUserCtx, little, big, littleLFS, bigLFS)
@@ -109,6 +110,7 @@ func testGit(t *testing.T, u *url.URL) {
109110

110111
t.Run("BranchProtectMerge", doBranchProtectPRMerge(&sshContext, dstPath))
111112
t.Run("MergeFork", func(t *testing.T) {
113+
defer PrintCurrentTest(t)()
112114
t.Run("CreatePRAndMerge", doMergeFork(sshContext, forkedUserCtx, "master", sshContext.Username+":master"))
113115
rawTest(t, &forkedUserCtx, little, big, littleLFS, bigLFS)
114116
mediaTest(t, &forkedUserCtx, little, big, littleLFS, bigLFS)
@@ -291,17 +293,34 @@ func doCommitAndPush(t *testing.T, size int, repoPath, prefix string) string {
291293

292294
func generateCommitWithNewData(size int, repoPath, email, fullName, prefix string) (string, error) {
293295
//Generate random file
294-
data := make([]byte, size)
295-
_, err := rand.Read(data)
296-
if err != nil {
297-
return "", err
296+
bufSize := 4 * 1024
297+
if bufSize > size {
298+
bufSize = size
298299
}
300+
301+
buffer := make([]byte, bufSize)
302+
299303
tmpFile, err := ioutil.TempFile(repoPath, prefix)
300304
if err != nil {
301305
return "", err
302306
}
303307
defer tmpFile.Close()
304-
_, err = tmpFile.Write(data)
308+
written := 0
309+
for written < size {
310+
n := size - written
311+
if n > bufSize {
312+
n = bufSize
313+
}
314+
_, err := rand.Read(buffer[:n])
315+
if err != nil {
316+
return "", err
317+
}
318+
n, err = tmpFile.Write(buffer[:n])
319+
if err != nil {
320+
return "", err
321+
}
322+
written += n
323+
}
305324
if err != nil {
306325
return "", err
307326
}
@@ -411,6 +430,7 @@ func doProtectBranch(ctx APITestContext, branch string, userToWhitelist string)
411430

412431
func doMergeFork(ctx, baseCtx APITestContext, baseBranch, headBranch string) func(t *testing.T) {
413432
return func(t *testing.T) {
433+
defer PrintCurrentTest(t)()
414434
var pr api.PullRequest
415435
var err error
416436
t.Run("CreatePullRequest", func(t *testing.T) {
@@ -485,9 +505,6 @@ func doPushCreate(ctx APITestContext, u *url.URL) func(t *testing.T) {
485505
tmpDir, err := ioutil.TempDir("", ctx.Reponame)
486506
assert.NoError(t, err)
487507

488-
_, err = git.NewCommand("clone", u.String()).RunInDir(tmpDir)
489-
assert.Error(t, err)
490-
491508
err = git.InitRepository(tmpDir, false)
492509
assert.NoError(t, err)
493510

0 commit comments

Comments
 (0)