summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzeripath <art27@cantab.net>2020-04-27 12:20:09 +0100
committerGitHub <noreply@github.com>2020-04-27 14:20:09 +0300
commitd26aee38307b84d6e3001fd7e531a0d67a804267 (patch)
treeabd5d24534ac8eaea206032ba531b65fa4645228
parent0e799c26ba322e8e1dd1e5acd1367341c0452987 (diff)
downloadgitea-d26aee38307b84d6e3001fd7e531a0d67a804267.tar.gz
gitea-d26aee38307b84d6e3001fd7e531a0d67a804267.zip
Slight performance changes to integrations/git_test.go (#11227)
* switch to use pseudorandom generator and stop cloning in pushcreate Signed-off-by: Andrew Thornton <art27@cantab.net> * Add some logging of BranchProtectPRMerge Signed-off-by: Andrew Thornton <art27@cantab.net> * Stop running prepareTestEnv so often for TestAPIGetBranch Signed-off-by: Andrew Thornton <art27@cantab.net>
-rw-r--r--integrations/api_branch_test.go3
-rw-r--r--integrations/git_test.go35
2 files changed, 27 insertions, 11 deletions
diff --git a/integrations/api_branch_test.go b/integrations/api_branch_test.go
index 8417ab36c5..acf7525f80 100644
--- a/integrations/api_branch_test.go
+++ b/integrations/api_branch_test.go
@@ -14,8 +14,6 @@ import (
)
func testAPIGetBranch(t *testing.T, branchName string, exists bool) {
- defer prepareTestEnv(t)()
-
session := loginUser(t, "user2")
token := getTokenForLoggedInUser(t, session)
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
}
func TestAPIGetBranch(t *testing.T) {
+ defer prepareTestEnv(t)()
for _, test := range []struct {
BranchName string
Exists bool
diff --git a/integrations/git_test.go b/integrations/git_test.go
index 8813f34be7..69253d3978 100644
--- a/integrations/git_test.go
+++ b/integrations/git_test.go
@@ -5,9 +5,9 @@
package integrations
import (
- "crypto/rand"
"fmt"
"io/ioutil"
+ "math/rand"
"net/http"
"net/url"
"os"
@@ -70,6 +70,7 @@ func testGit(t *testing.T, u *url.URL) {
t.Run("BranchProtectMerge", doBranchProtectPRMerge(&httpContext, dstPath))
t.Run("MergeFork", func(t *testing.T) {
+ defer PrintCurrentTest(t)()
t.Run("CreatePRAndMerge", doMergeFork(httpContext, forkedUserCtx, "master", httpContext.Username+":master"))
rawTest(t, &forkedUserCtx, little, big, littleLFS, bigLFS)
mediaTest(t, &forkedUserCtx, little, big, littleLFS, bigLFS)
@@ -109,6 +110,7 @@ func testGit(t *testing.T, u *url.URL) {
t.Run("BranchProtectMerge", doBranchProtectPRMerge(&sshContext, dstPath))
t.Run("MergeFork", func(t *testing.T) {
+ defer PrintCurrentTest(t)()
t.Run("CreatePRAndMerge", doMergeFork(sshContext, forkedUserCtx, "master", sshContext.Username+":master"))
rawTest(t, &forkedUserCtx, little, big, littleLFS, bigLFS)
mediaTest(t, &forkedUserCtx, little, big, littleLFS, bigLFS)
@@ -291,17 +293,34 @@ func doCommitAndPush(t *testing.T, size int, repoPath, prefix string) string {
func generateCommitWithNewData(size int, repoPath, email, fullName, prefix string) (string, error) {
//Generate random file
- data := make([]byte, size)
- _, err := rand.Read(data)
- if err != nil {
- return "", err
+ bufSize := 4 * 1024
+ if bufSize > size {
+ bufSize = size
}
+
+ buffer := make([]byte, bufSize)
+
tmpFile, err := ioutil.TempFile(repoPath, prefix)
if err != nil {
return "", err
}
defer tmpFile.Close()
- _, err = tmpFile.Write(data)
+ written := 0
+ for written < size {
+ n := size - written
+ if n > bufSize {
+ n = bufSize
+ }
+ _, err := rand.Read(buffer[:n])
+ if err != nil {
+ return "", err
+ }
+ n, err = tmpFile.Write(buffer[:n])
+ if err != nil {
+ return "", err
+ }
+ written += n
+ }
if err != nil {
return "", err
}
@@ -411,6 +430,7 @@ func doProtectBranch(ctx APITestContext, branch string, userToWhitelist string)
func doMergeFork(ctx, baseCtx APITestContext, baseBranch, headBranch string) func(t *testing.T) {
return func(t *testing.T) {
+ defer PrintCurrentTest(t)()
var pr api.PullRequest
var err error
t.Run("CreatePullRequest", func(t *testing.T) {
@@ -485,9 +505,6 @@ func doPushCreate(ctx APITestContext, u *url.URL) func(t *testing.T) {
tmpDir, err := ioutil.TempDir("", ctx.Reponame)
assert.NoError(t, err)
- _, err = git.NewCommand("clone", u.String()).RunInDir(tmpDir)
- assert.Error(t, err)
-
err = git.InitRepository(tmpDir, false)
assert.NoError(t, err)