From eff1779bb837999d13a24eebc7e5251936c3a30e Mon Sep 17 00:00:00 2001 From: Andrew Thornton Date: Thu, 9 Dec 2021 17:45:10 +0000 Subject: [PATCH 1/4] Prevent models/migrations tests from deleteing data directory Signed-off-by: Andrew Thornton --- models/migrations/migrations_test.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/models/migrations/migrations_test.go b/models/migrations/migrations_test.go index 2effcb99ebc6c..656d5b63b41eb 100644 --- a/models/migrations/migrations_test.go +++ b/models/migrations/migrations_test.go @@ -8,6 +8,7 @@ import ( "context" "database/sql" "fmt" + "io/ioutil" "os" "path" "path/filepath" @@ -57,6 +58,14 @@ func TestMain(m *testing.M) { setting.CustomConf = giteaConf } + tmpDataPath, err := ioutil.TempDir("", "data") + if err != nil { + fmt.Printf("Unable to create temporary data path %v\n", err) + os.Exit(1) + } + + setting.AppDataPath = tmpDataPath + setting.SetCustomPathAndConf("", "", "") setting.LoadForTest() git.CheckLFSVersion() From e352547a1719f0ae7991d72aceef8098367c7476 Mon Sep 17 00:00:00 2001 From: Andrew Thornton Date: Thu, 9 Dec 2021 18:21:46 +0000 Subject: [PATCH 2/4] and prevent another one too Signed-off-by: Andrew Thornton --- models/migrations/migrations_test.go | 2 +- models/unittest/testdb.go | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/models/migrations/migrations_test.go b/models/migrations/migrations_test.go index 656d5b63b41eb..10ba3dde09597 100644 --- a/models/migrations/migrations_test.go +++ b/models/migrations/migrations_test.go @@ -77,7 +77,7 @@ func TestMain(m *testing.M) { if err := removeAllWithRetry(setting.RepoRootPath); err != nil { fmt.Fprintf(os.Stderr, "os.RemoveAll: %v\n", err) } - if err := removeAllWithRetry(setting.AppDataPath); err != nil { + if err := removeAllWithRetry(tmpDataPath); err != nil { fmt.Fprintf(os.Stderr, "os.RemoveAll: %v\n", err) } os.Exit(exitStatus) diff --git a/models/unittest/testdb.go b/models/unittest/testdb.go index 94c93755e0bd6..8083c607e5d5c 100644 --- a/models/unittest/testdb.go +++ b/models/unittest/testdb.go @@ -67,14 +67,16 @@ func MainTest(m *testing.M, pathToGiteaRoot string, fixtureFiles ...string) { setting.SSH.Port = 3000 setting.SSH.Domain = "try.gitea.io" setting.Database.UseSQLite3 = true - setting.RepoRootPath, err = os.MkdirTemp(os.TempDir(), "repos") + repoRootPath, err := os.MkdirTemp(os.TempDir(), "repos") if err != nil { fatalTestError("TempDir: %v\n", err) } - setting.AppDataPath, err = os.MkdirTemp(os.TempDir(), "appdata") + setting.RepoRootPath = repoRootPath + appDataPath, err := os.MkdirTemp(os.TempDir(), "appdata") if err != nil { fatalTestError("TempDir: %v\n", err) } + setting.AppDataPath = appDataPath setting.AppWorkPath = pathToGiteaRoot setting.StaticRootPath = pathToGiteaRoot setting.GravatarSourceURL, err = url.Parse("https://secure.gravatar.com/avatar/") @@ -95,7 +97,7 @@ func MainTest(m *testing.M, pathToGiteaRoot string, fixtureFiles ...string) { fatalTestError("storage.Init: %v\n", err) } - if err = util.RemoveAll(setting.RepoRootPath); err != nil { + if err = util.RemoveAll(repoRootPath); err != nil { fatalTestError("util.RemoveAll: %v\n", err) } if err = util.CopyDir(filepath.Join(pathToGiteaRoot, "integrations", "gitea-repositories-meta"), setting.RepoRootPath); err != nil { @@ -103,10 +105,10 @@ func MainTest(m *testing.M, pathToGiteaRoot string, fixtureFiles ...string) { } exitStatus := m.Run() - if err = util.RemoveAll(setting.RepoRootPath); err != nil { + if err = util.RemoveAll(repoRootPath); err != nil { fatalTestError("util.RemoveAll: %v\n", err) } - if err = util.RemoveAll(setting.AppDataPath); err != nil { + if err = util.RemoveAll(appDataPath); err != nil { fatalTestError("util.RemoveAll: %v\n", err) } os.Exit(exitStatus) From 8e6346f3bb578a13e3da28c247732aca14edebf7 Mon Sep 17 00:00:00 2001 From: Andrew Thornton Date: Thu, 9 Dec 2021 20:46:37 +0000 Subject: [PATCH 3/4] And remove the loadfortest Signed-off-by: Andrew Thornton --- services/mailer/mailer_test.go | 9 --------- 1 file changed, 9 deletions(-) diff --git a/services/mailer/mailer_test.go b/services/mailer/mailer_test.go index 8505803d22a24..184a3cd7fc4df 100644 --- a/services/mailer/mailer_test.go +++ b/services/mailer/mailer_test.go @@ -8,19 +8,10 @@ import ( "testing" "time" - "code.gitea.io/gitea/modules/setting" - "github.com/stretchr/testify/assert" ) func TestGenerateMessageID(t *testing.T) { - setting.LoadForTest(` -[mailer] -ENABLED = true -FROM = test@domain.com -`) - setting.NewServices() - date := time.Date(2000, 01, 02, 03, 04, 05, 06, time.UTC) m := NewMessageFrom(nil, "display-name", "from-address", "subject", "body") m.Date = date From 02b83884ad1d0eb1b4d93c46041bd787463061b7 Mon Sep 17 00:00:00 2001 From: Andrew Thornton Date: Fri, 10 Dec 2021 18:09:49 +0000 Subject: [PATCH 4/4] restore running TestGenerateMessageID alone Signed-off-by: Andrew Thornton --- services/mailer/mailer_test.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/services/mailer/mailer_test.go b/services/mailer/mailer_test.go index 184a3cd7fc4df..1739a68a64414 100644 --- a/services/mailer/mailer_test.go +++ b/services/mailer/mailer_test.go @@ -8,10 +8,18 @@ import ( "testing" "time" + "code.gitea.io/gitea/modules/setting" "github.com/stretchr/testify/assert" ) func TestGenerateMessageID(t *testing.T) { + var mailService = setting.Mailer{ + From: "test@gitea.com", + } + + setting.MailService = &mailService + setting.Domain = "localhost" + date := time.Date(2000, 01, 02, 03, 04, 05, 06, time.UTC) m := NewMessageFrom(nil, "display-name", "from-address", "subject", "body") m.Date = date