Skip to content

Commit 55cd33e

Browse files
zeripathlunny
andcommitted
Stop various tests from adding to the source tree (#9515)
Instead of just adding test generated files to .gitignore prevent them from being produced in the first place. Co-authored-by: Lunny Xiao <[email protected]>
1 parent 8841732 commit 55cd33e

File tree

6 files changed

+91
-13
lines changed

6 files changed

+91
-13
lines changed

.gitignore

-2
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,6 @@ coverage.all
6666
/integrations/pgsql.ini
6767
/integrations/mssql.ini
6868
/node_modules
69-
/modules/indexer/issues/indexers
70-
routers/repo/authorized_keys
7169
/yarn.lock
7270
/public/js
7371
/public/css

modules/indexer/code/bleve_test.go

+14-5
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
package code
66

77
import (
8+
"io/ioutil"
89
"os"
910
"path/filepath"
1011
"testing"
1112

1213
"code.gitea.io/gitea/models"
13-
"code.gitea.io/gitea/modules/log"
1414
"code.gitea.io/gitea/modules/setting"
1515

1616
"github.com/stretchr/testify/assert"
@@ -23,15 +23,24 @@ func TestMain(m *testing.M) {
2323
func TestIndexAndSearch(t *testing.T) {
2424
models.PrepareTestEnv(t)
2525

26-
dir := "./bleve.index"
27-
os.RemoveAll(dir)
26+
dir, err := ioutil.TempDir("", "bleve.index")
27+
assert.NoError(t, err)
28+
if err != nil {
29+
assert.Fail(t, "Unable to create temporary directory")
30+
return
31+
}
32+
defer os.RemoveAll(dir)
2833

2934
setting.Indexer.RepoIndexerEnabled = true
3035
idx, _, err := NewBleveIndexer(dir)
3136
if err != nil {
32-
idx.Close()
33-
log.Fatal("indexer.Init: %v", err)
37+
assert.Fail(t, "Unable to create indexer Error: %v", err)
38+
if idx != nil {
39+
idx.Close()
40+
}
41+
return
3442
}
43+
defer idx.Close()
3544

3645
err = idx.Index(1)
3746
assert.NoError(t, err)

modules/indexer/issues/bleve.go

+10
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"os"
1010
"strconv"
1111

12+
"code.gitea.io/gitea/modules/log"
1213
"github.com/blevesearch/bleve"
1314
"github.com/blevesearch/bleve/analysis/analyzer/custom"
1415
"github.com/blevesearch/bleve/analysis/token/lowercase"
@@ -184,6 +185,15 @@ func (b *BleveIndexer) Init() (bool, error) {
184185
return false, err
185186
}
186187

188+
// Close will close the bleve indexer
189+
func (b *BleveIndexer) Close() {
190+
if b.indexer != nil {
191+
if err := b.indexer.Close(); err != nil {
192+
log.Error("Error whilst closing indexer: %v", err)
193+
}
194+
}
195+
}
196+
187197
// Index will save the index data
188198
func (b *BleveIndexer) Index(issues []*IndexerData) error {
189199
batch := rupture.NewFlushingBatch(b.indexer, maxBatchSize)

modules/indexer/issues/bleve_test.go

+13-4
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,28 @@
55
package issues
66

77
import (
8+
"io/ioutil"
89
"os"
910
"testing"
1011

1112
"github.com/stretchr/testify/assert"
1213
)
1314

1415
func TestBleveIndexAndSearch(t *testing.T) {
15-
dir := "./bleve.index"
16-
indexer := NewBleveIndexer(dir)
16+
dir, err := ioutil.TempDir("", "bleve.index")
17+
assert.NoError(t, err)
18+
if err != nil {
19+
assert.Fail(t, "Unable to create temporary directory")
20+
return
21+
}
1722
defer os.RemoveAll(dir)
23+
indexer := NewBleveIndexer(dir)
24+
defer indexer.Close()
1825

19-
_, err := indexer.Init()
20-
assert.NoError(t, err)
26+
if _, err := indexer.Init(); err != nil {
27+
assert.Fail(t, "Unable to initialise bleve indexer: %v", err)
28+
return
29+
}
2130

2231
err = indexer.Index([]*IndexerData{
2332
{

modules/indexer/issues/indexer_test.go

+24-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
package issues
66

77
import (
8+
"io/ioutil"
89
"os"
10+
"path"
911
"path/filepath"
1012
"testing"
1113
"time"
@@ -23,10 +25,29 @@ func TestMain(m *testing.M) {
2325
func TestBleveSearchIssues(t *testing.T) {
2426
assert.NoError(t, models.PrepareTestDatabase())
2527

26-
os.RemoveAll(setting.Indexer.IssueQueueDir)
27-
os.RemoveAll(setting.Indexer.IssuePath)
28+
tmpIndexerDir, err := ioutil.TempDir("", "issues-indexer")
29+
if err != nil {
30+
assert.Fail(t, "Unable to create temporary directory: %v", err)
31+
return
32+
}
33+
oldQueueDir := setting.Indexer.IssueQueueDir
34+
oldIssuePath := setting.Indexer.IssuePath
35+
setting.Indexer.IssueQueueDir = path.Join(tmpIndexerDir, "issues.queue")
36+
setting.Indexer.IssuePath = path.Join(tmpIndexerDir, "issues.queue")
37+
defer func() {
38+
setting.Indexer.IssueQueueDir = oldQueueDir
39+
setting.Indexer.IssuePath = oldIssuePath
40+
os.RemoveAll(tmpIndexerDir)
41+
}()
42+
2843
setting.Indexer.IssueType = "bleve"
2944
InitIssueIndexer(true)
45+
defer func() {
46+
indexer := holder.get()
47+
if bleveIndexer, ok := indexer.(*BleveIndexer); ok {
48+
bleveIndexer.Close()
49+
}
50+
}()
3051

3152
time.Sleep(5 * time.Second)
3253

@@ -45,6 +66,7 @@ func TestBleveSearchIssues(t *testing.T) {
4566
ids, err = SearchIssuesByKeyword([]int64{1}, "good")
4667
assert.NoError(t, err)
4768
assert.EqualValues(t, []int64{1}, ids)
69+
4870
}
4971

5072
func TestDBSearchIssues(t *testing.T) {

routers/repo/settings_test.go

+30
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,42 @@
55
package repo
66

77
import (
8+
"io/ioutil"
89
"net/http"
10+
"os"
911
"testing"
1012

1113
"code.gitea.io/gitea/models"
1214
"code.gitea.io/gitea/modules/auth"
1315
"code.gitea.io/gitea/modules/context"
16+
"code.gitea.io/gitea/modules/setting"
1417
"code.gitea.io/gitea/modules/test"
1518

1619
"github.com/stretchr/testify/assert"
1720
)
1821

22+
func createSSHAuthorizedKeysTmpPath(t *testing.T) func() {
23+
tmpDir, err := ioutil.TempDir("", "tmp-ssh")
24+
if err != nil {
25+
assert.Fail(t, "Unable to create temporary directory: %v", err)
26+
return nil
27+
}
28+
29+
oldPath := setting.SSH.RootPath
30+
setting.SSH.RootPath = tmpDir
31+
32+
return func() {
33+
setting.SSH.RootPath = oldPath
34+
os.RemoveAll(tmpDir)
35+
}
36+
}
37+
1938
func TestAddReadOnlyDeployKey(t *testing.T) {
39+
if deferable := createSSHAuthorizedKeysTmpPath(t); deferable != nil {
40+
defer deferable()
41+
} else {
42+
return
43+
}
2044
models.PrepareTestEnv(t)
2145

2246
ctx := test.MockContext(t, "user2/repo1/settings/keys")
@@ -39,6 +63,12 @@ func TestAddReadOnlyDeployKey(t *testing.T) {
3963
}
4064

4165
func TestAddReadWriteOnlyDeployKey(t *testing.T) {
66+
if deferable := createSSHAuthorizedKeysTmpPath(t); deferable != nil {
67+
defer deferable()
68+
} else {
69+
return
70+
}
71+
4272
models.PrepareTestEnv(t)
4373

4474
ctx := test.MockContext(t, "user2/repo1/settings/keys")

0 commit comments

Comments
 (0)