From 9d9e6ac4117b8efd2f85fc625a4ccfdcf73c4fc3 Mon Sep 17 00:00:00 2001 From: zeripath Date: Tue, 26 Nov 2019 15:35:41 +0000 Subject: [PATCH] Yet another attempt to fix the intermittent failure of gpg git test (#9146) * 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 --- .../git_helper_for_declarative_test.go | 1 + integrations/gpg_git_test.go | 37 ++++++++++++++++--- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/integrations/git_helper_for_declarative_test.go b/integrations/git_helper_for_declarative_test.go index 5ac3348e77..024bf87a3c 100644 --- a/integrations/git_helper_for_declarative_test.go +++ b/integrations/git_helper_for_declarative_test.go @@ -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) diff --git a/integrations/gpg_git_test.go b/integrations/gpg_git_test.go index a5a3406b86..6c9b7c00ff 100644 --- a/integrations/gpg_git_test.go +++ b/integrations/gpg_git_test.go @@ -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...) }