|
5 | 5 | package integrations
|
6 | 6 |
|
7 | 7 | import (
|
8 |
| - "crypto/rand" |
9 | 8 | "fmt"
|
10 | 9 | "io/ioutil"
|
| 10 | + "math/rand" |
11 | 11 | "net/http"
|
12 | 12 | "net/url"
|
13 | 13 | "os"
|
@@ -70,6 +70,7 @@ func testGit(t *testing.T, u *url.URL) {
|
70 | 70 |
|
71 | 71 | t.Run("BranchProtectMerge", doBranchProtectPRMerge(&httpContext, dstPath))
|
72 | 72 | t.Run("MergeFork", func(t *testing.T) {
|
| 73 | + defer PrintCurrentTest(t)() |
73 | 74 | t.Run("CreatePRAndMerge", doMergeFork(httpContext, forkedUserCtx, "master", httpContext.Username+":master"))
|
74 | 75 | rawTest(t, &forkedUserCtx, little, big, littleLFS, bigLFS)
|
75 | 76 | mediaTest(t, &forkedUserCtx, little, big, littleLFS, bigLFS)
|
@@ -109,6 +110,7 @@ func testGit(t *testing.T, u *url.URL) {
|
109 | 110 |
|
110 | 111 | t.Run("BranchProtectMerge", doBranchProtectPRMerge(&sshContext, dstPath))
|
111 | 112 | t.Run("MergeFork", func(t *testing.T) {
|
| 113 | + defer PrintCurrentTest(t)() |
112 | 114 | t.Run("CreatePRAndMerge", doMergeFork(sshContext, forkedUserCtx, "master", sshContext.Username+":master"))
|
113 | 115 | rawTest(t, &forkedUserCtx, little, big, littleLFS, bigLFS)
|
114 | 116 | mediaTest(t, &forkedUserCtx, little, big, littleLFS, bigLFS)
|
@@ -291,17 +293,34 @@ func doCommitAndPush(t *testing.T, size int, repoPath, prefix string) string {
|
291 | 293 |
|
292 | 294 | func generateCommitWithNewData(size int, repoPath, email, fullName, prefix string) (string, error) {
|
293 | 295 | //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 |
298 | 299 | }
|
| 300 | + |
| 301 | + buffer := make([]byte, bufSize) |
| 302 | + |
299 | 303 | tmpFile, err := ioutil.TempFile(repoPath, prefix)
|
300 | 304 | if err != nil {
|
301 | 305 | return "", err
|
302 | 306 | }
|
303 | 307 | 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 | + } |
305 | 324 | if err != nil {
|
306 | 325 | return "", err
|
307 | 326 | }
|
@@ -411,6 +430,7 @@ func doProtectBranch(ctx APITestContext, branch string, userToWhitelist string)
|
411 | 430 |
|
412 | 431 | func doMergeFork(ctx, baseCtx APITestContext, baseBranch, headBranch string) func(t *testing.T) {
|
413 | 432 | return func(t *testing.T) {
|
| 433 | + defer PrintCurrentTest(t)() |
414 | 434 | var pr api.PullRequest
|
415 | 435 | var err error
|
416 | 436 | t.Run("CreatePullRequest", func(t *testing.T) {
|
@@ -485,9 +505,6 @@ func doPushCreate(ctx APITestContext, u *url.URL) func(t *testing.T) {
|
485 | 505 | tmpDir, err := ioutil.TempDir("", ctx.Reponame)
|
486 | 506 | assert.NoError(t, err)
|
487 | 507 |
|
488 |
| - _, err = git.NewCommand("clone", u.String()).RunInDir(tmpDir) |
489 |
| - assert.Error(t, err) |
490 |
| - |
491 | 508 | err = git.InitRepository(tmpDir, false)
|
492 | 509 | assert.NoError(t, err)
|
493 | 510 |
|
|
0 commit comments