]> source.dussan.org Git - gitea.git/commitdiff
Yet another attempt to fix the intermittent failure of gpg git test (#9146)
authorzeripath <art27@cantab.net>
Tue, 26 Nov 2019 15:35:41 +0000 (15:35 +0000)
committerLunny Xiao <xiaolunwen@gmail.com>
Tue, 26 Nov 2019 15:35:41 +0000 (23:35 +0800)
* Yet another attempt to fix the race in gpg_git_test

* add some fail nows

* Need to set preparetestenv

* Ensure that http messages go to the correct server

integrations/git_helper_for_declarative_test.go
integrations/gpg_git_test.go

index 5ac3348e77d2f2ec4ef41c3fbcdf3f3bd00ba0ce..024bf87a3ca07d2acee06b1d901e3ecb85377c6f 100644 (file)
@@ -91,6 +91,7 @@ func onGiteaRun(t *testing.T, callback func(*testing.T, *url.URL), prepare ...bo
        assert.NoError(t, err)
        listener, err := net.Listen("tcp", u.Host)
        assert.NoError(t, err)
+       u.Host = listener.Addr().String()
 
        defer func() {
                ctx, cancel := context.WithTimeout(context.Background(), 2*time.Minute)
index a5a3406b8687b4ba7497b3cda0064c44d7ddd076..6c9b7c00ff1ef5ebd45e59240a6ac47cf6b6b73e 100644 (file)
@@ -23,6 +23,7 @@ import (
 )
 
 func TestGPGGit(t *testing.T) {
+       prepareTestEnv(t)
        username := "user2"
 
        // OK Set a new GPG home
@@ -125,11 +126,19 @@ func TestGPGGit(t *testing.T) {
                        t.Run("CreateCRUDFile-Always", crudActionCreateFile(
                                t, testCtx, user, "master", "always", "signed-always.txt", func(t *testing.T, response api.FileResponse) {
                                        assert.True(t, response.Verification.Verified)
+                                       if !response.Verification.Verified {
+                                               t.FailNow()
+                                               return
+                                       }
                                        assert.Equal(t, "gitea@fake.local", response.Verification.Signer.Email)
                                }))
                        t.Run("CreateCRUDFile-ParentSigned-always", crudActionCreateFile(
                                t, testCtx, user, "parentsigned", "parentsigned-always", "signed-parent2.txt", func(t *testing.T, response api.FileResponse) {
                                        assert.True(t, response.Verification.Verified)
+                                       if !response.Verification.Verified {
+                                               t.FailNow()
+                                               return
+                                       }
                                        assert.Equal(t, "gitea@fake.local", response.Verification.Signer.Email)
                                }))
                })
@@ -144,6 +153,10 @@ func TestGPGGit(t *testing.T) {
                        t.Run("CreateCRUDFile-Always-ParentSigned", crudActionCreateFile(
                                t, testCtx, user, "always", "always-parentsigned", "signed-always-parentsigned.txt", func(t *testing.T, response api.FileResponse) {
                                        assert.True(t, response.Verification.Verified)
+                                       if !response.Verification.Verified {
+                                               t.FailNow()
+                                               return
+                                       }
                                        assert.Equal(t, "gitea@fake.local", response.Verification.Signer.Email)
                                }))
                })
@@ -160,6 +173,10 @@ func TestGPGGit(t *testing.T) {
                                assert.NotNil(t, branch.Commit)
                                assert.NotNil(t, branch.Commit.Verification)
                                assert.True(t, branch.Commit.Verification.Verified)
+                               if !branch.Commit.Verification.Verified {
+                                       t.FailNow()
+                                       return
+                               }
                                assert.Equal(t, "gitea@fake.local", branch.Commit.Verification.Signer.Email)
                        }))
                })
@@ -170,7 +187,8 @@ func TestGPGGit(t *testing.T) {
 
                t.Run("AlwaysSign-Initial-CRUD-Never", func(t *testing.T) {
                        defer PrintCurrentTest(t)()
-                       testCtx := NewAPITestContext(t, username, "initial-always")
+                       testCtx := NewAPITestContext(t, username, "initial-always-never")
+                       t.Run("CreateRepository", doAPICreateRepository(testCtx, false))
                        t.Run("CreateCRUDFile-Never", crudActionCreateFile(
                                t, testCtx, user, "master", "never", "unsigned-never.txt", func(t *testing.T, response api.FileResponse) {
                                        assert.False(t, response.Verification.Verified)
@@ -180,13 +198,17 @@ func TestGPGGit(t *testing.T) {
        setting.Repository.Signing.CRUDActions = []string{"parentsigned"}
        onGiteaRun(t, func(t *testing.T, u *url.URL) {
                u.Path = baseAPITestContext.GitPath()
-
                t.Run("AlwaysSign-Initial-CRUD-ParentSigned-On-Always", func(t *testing.T) {
                        defer PrintCurrentTest(t)()
-                       testCtx := NewAPITestContext(t, username, "initial-always")
+                       testCtx := NewAPITestContext(t, username, "initial-always-parent")
+                       t.Run("CreateRepository", doAPICreateRepository(testCtx, false))
                        t.Run("CreateCRUDFile-ParentSigned", crudActionCreateFile(
                                t, testCtx, user, "master", "parentsigned", "signed-parent.txt", func(t *testing.T, response api.FileResponse) {
                                        assert.True(t, response.Verification.Verified)
+                                       if !response.Verification.Verified {
+                                               t.FailNow()
+                                               return
+                                       }
                                        assert.Equal(t, "gitea@fake.local", response.Verification.Signer.Email)
                                }))
                })
@@ -197,10 +219,15 @@ func TestGPGGit(t *testing.T) {
 
                t.Run("AlwaysSign-Initial-CRUD-Always", func(t *testing.T) {
                        defer PrintCurrentTest(t)()
-                       testCtx := NewAPITestContext(t, username, "initial-always")
+                       testCtx := NewAPITestContext(t, username, "initial-always-always")
+                       t.Run("CreateRepository", doAPICreateRepository(testCtx, false))
                        t.Run("CreateCRUDFile-Always", crudActionCreateFile(
                                t, testCtx, user, "master", "always", "signed-always.txt", func(t *testing.T, response api.FileResponse) {
                                        assert.True(t, response.Verification.Verified)
+                                       if !response.Verification.Verified {
+                                               t.FailNow()
+                                               return
+                                       }
                                        assert.Equal(t, "gitea@fake.local", response.Verification.Signer.Email)
                                }))
 
@@ -287,7 +314,7 @@ func crudActionCreateFile(t *testing.T, ctx APITestContext, user *models.User, f
                                Email: user.Email,
                        },
                },
-               Content: base64.StdEncoding.EncodeToString([]byte("This is new text")),
+               Content: base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("This is new text for %s", path))),
        }, callback...)
 }