mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 11:28:24 +00:00 
			
		
		
		
	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>
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
| @@ -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) | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user