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 <xiaolunwen@gmail.com>
This commit is contained in:
		
							parent
							
								
									884173232f
								
							
						
					
					
						commit
						55cd33e124
					
				
					 6 changed files with 92 additions and 14 deletions
				
			
		
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							|  | @ -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 | ||||
|  |  | |||
|  | @ -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) | ||||
|  |  | |||
|  | @ -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) | ||||
|  |  | |||
|  | @ -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) | ||||
| 	defer os.RemoveAll(dir) | ||||
| 
 | ||||
| 	_, err := indexer.Init() | ||||
| 	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() | ||||
| 
 | ||||
| 	if _, err := indexer.Init(); err != nil { | ||||
| 		assert.Fail(t, "Unable to initialise bleve indexer: %v", err) | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	err = indexer.Index([]*IndexerData{ | ||||
| 		{ | ||||
|  |  | |||
|  | @ -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) { | ||||
|  |  | |||
|  | @ -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") | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue