]> source.dussan.org Git - gitea.git/commitdiff
Stop various tests from adding to the source tree (#9515)
authorzeripath <art27@cantab.net>
Sat, 28 Dec 2019 02:08:05 +0000 (02:08 +0000)
committerLunny Xiao <xiaolunwen@gmail.com>
Sat, 28 Dec 2019 02:08:05 +0000 (10:08 +0800)
Instead of just adding test generated files to .gitignore prevent
them from being produced in the first place.

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
.gitignore
modules/indexer/code/bleve_test.go
modules/indexer/issues/bleve.go
modules/indexer/issues/bleve_test.go
modules/indexer/issues/indexer_test.go
routers/repo/settings_test.go

index 6f644d1cd7d61434293d9a67d25df472ca21c9f6..f6831fe26c465d4b9c47c4532fa4b0f90a235723 100644 (file)
@@ -66,8 +66,6 @@ coverage.all
 /integrations/pgsql.ini
 /integrations/mssql.ini
 /node_modules
-/modules/indexer/issues/indexers
-routers/repo/authorized_keys
 /yarn.lock
 /public/js
 /public/css
index ac2b4119983aeea53b0ea6da1564a3b5103beb86..695dceb2594c7b0571258e659af356847ccd7f00 100644 (file)
@@ -5,12 +5,12 @@
 package code
 
 import (
+       "io/ioutil"
        "os"
        "path/filepath"
        "testing"
 
        "code.gitea.io/gitea/models"
-       "code.gitea.io/gitea/modules/log"
        "code.gitea.io/gitea/modules/setting"
 
        "github.com/stretchr/testify/assert"
@@ -23,15 +23,24 @@ func TestMain(m *testing.M) {
 func TestIndexAndSearch(t *testing.T) {
        models.PrepareTestEnv(t)
 
-       dir := "./bleve.index"
-       os.RemoveAll(dir)
+       dir, err := ioutil.TempDir("", "bleve.index")
+       assert.NoError(t, err)
+       if err != nil {
+               assert.Fail(t, "Unable to create temporary directory")
+               return
+       }
+       defer os.RemoveAll(dir)
 
        setting.Indexer.RepoIndexerEnabled = true
        idx, _, err := NewBleveIndexer(dir)
        if err != nil {
-               idx.Close()
-               log.Fatal("indexer.Init: %v", err)
+               assert.Fail(t, "Unable to create indexer Error: %v", err)
+               if idx != nil {
+                       idx.Close()
+               }
+               return
        }
+       defer idx.Close()
 
        err = idx.Index(1)
        assert.NoError(t, err)
index 24443e54a343bee547bd5642af83463e2074db9e..787ff0dec5a11d855ea06d173704be75046323c9 100644 (file)
@@ -9,6 +9,7 @@ import (
        "os"
        "strconv"
 
+       "code.gitea.io/gitea/modules/log"
        "github.com/blevesearch/bleve"
        "github.com/blevesearch/bleve/analysis/analyzer/custom"
        "github.com/blevesearch/bleve/analysis/token/lowercase"
@@ -184,6 +185,15 @@ func (b *BleveIndexer) Init() (bool, error) {
        return false, err
 }
 
+// Close will close the bleve indexer
+func (b *BleveIndexer) Close() {
+       if b.indexer != nil {
+               if err := b.indexer.Close(); err != nil {
+                       log.Error("Error whilst closing indexer: %v", err)
+               }
+       }
+}
+
 // Index will save the index data
 func (b *BleveIndexer) Index(issues []*IndexerData) error {
        batch := rupture.NewFlushingBatch(b.indexer, maxBatchSize)
index 94d935d89da5a19ff8399985ff026e7d15bd262c..234da076cd9314728c78ede245468e66c695d1fb 100644 (file)
@@ -5,6 +5,7 @@
 package issues
 
 import (
+       "io/ioutil"
        "os"
        "testing"
 
@@ -12,12 +13,20 @@ import (
 )
 
 func TestBleveIndexAndSearch(t *testing.T) {
-       dir := "./bleve.index"
-       indexer := NewBleveIndexer(dir)
+       dir, err := ioutil.TempDir("", "bleve.index")
+       assert.NoError(t, err)
+       if err != nil {
+               assert.Fail(t, "Unable to create temporary directory")
+               return
+       }
        defer os.RemoveAll(dir)
+       indexer := NewBleveIndexer(dir)
+       defer indexer.Close()
 
-       _, err := indexer.Init()
-       assert.NoError(t, err)
+       if _, err := indexer.Init(); err != nil {
+               assert.Fail(t, "Unable to initialise bleve indexer: %v", err)
+               return
+       }
 
        err = indexer.Index([]*IndexerData{
                {
index a45fede9ac073809240b353c326f85fa9e26c6b6..ca7ba29703fe87cd8aecbf0d5e7975cccafbd296 100644 (file)
@@ -5,7 +5,9 @@
 package issues
 
 import (
+       "io/ioutil"
        "os"
+       "path"
        "path/filepath"
        "testing"
        "time"
@@ -23,10 +25,29 @@ func TestMain(m *testing.M) {
 func TestBleveSearchIssues(t *testing.T) {
        assert.NoError(t, models.PrepareTestDatabase())
 
-       os.RemoveAll(setting.Indexer.IssueQueueDir)
-       os.RemoveAll(setting.Indexer.IssuePath)
+       tmpIndexerDir, err := ioutil.TempDir("", "issues-indexer")
+       if err != nil {
+               assert.Fail(t, "Unable to create temporary directory: %v", err)
+               return
+       }
+       oldQueueDir := setting.Indexer.IssueQueueDir
+       oldIssuePath := setting.Indexer.IssuePath
+       setting.Indexer.IssueQueueDir = path.Join(tmpIndexerDir, "issues.queue")
+       setting.Indexer.IssuePath = path.Join(tmpIndexerDir, "issues.queue")
+       defer func() {
+               setting.Indexer.IssueQueueDir = oldQueueDir
+               setting.Indexer.IssuePath = oldIssuePath
+               os.RemoveAll(tmpIndexerDir)
+       }()
+
        setting.Indexer.IssueType = "bleve"
        InitIssueIndexer(true)
+       defer func() {
+               indexer := holder.get()
+               if bleveIndexer, ok := indexer.(*BleveIndexer); ok {
+                       bleveIndexer.Close()
+               }
+       }()
 
        time.Sleep(5 * time.Second)
 
@@ -45,6 +66,7 @@ func TestBleveSearchIssues(t *testing.T) {
        ids, err = SearchIssuesByKeyword([]int64{1}, "good")
        assert.NoError(t, err)
        assert.EqualValues(t, []int64{1}, ids)
+
 }
 
 func TestDBSearchIssues(t *testing.T) {
index a05a96cea21ca5706baa1c720c3b3776e9b4f73f..2325c0255c1c2dc0d2330e64b0bfba4492da7b78 100644 (file)
@@ -5,18 +5,42 @@
 package repo
 
 import (
+       "io/ioutil"
        "net/http"
+       "os"
        "testing"
 
        "code.gitea.io/gitea/models"
        "code.gitea.io/gitea/modules/auth"
        "code.gitea.io/gitea/modules/context"
+       "code.gitea.io/gitea/modules/setting"
        "code.gitea.io/gitea/modules/test"
 
        "github.com/stretchr/testify/assert"
 )
 
+func createSSHAuthorizedKeysTmpPath(t *testing.T) func() {
+       tmpDir, err := ioutil.TempDir("", "tmp-ssh")
+       if err != nil {
+               assert.Fail(t, "Unable to create temporary directory: %v", err)
+               return nil
+       }
+
+       oldPath := setting.SSH.RootPath
+       setting.SSH.RootPath = tmpDir
+
+       return func() {
+               setting.SSH.RootPath = oldPath
+               os.RemoveAll(tmpDir)
+       }
+}
+
 func TestAddReadOnlyDeployKey(t *testing.T) {
+       if deferable := createSSHAuthorizedKeysTmpPath(t); deferable != nil {
+               defer deferable()
+       } else {
+               return
+       }
        models.PrepareTestEnv(t)
 
        ctx := test.MockContext(t, "user2/repo1/settings/keys")
@@ -39,6 +63,12 @@ func TestAddReadOnlyDeployKey(t *testing.T) {
 }
 
 func TestAddReadWriteOnlyDeployKey(t *testing.T) {
+       if deferable := createSSHAuthorizedKeysTmpPath(t); deferable != nil {
+               defer deferable()
+       } else {
+               return
+       }
+
        models.PrepareTestEnv(t)
 
        ctx := test.MockContext(t, "user2/repo1/settings/keys")