mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Fix datarace on git.GlobalCommandArgs on tests (#9162)
* fix datarace on git.GlobalCommandArgs on tests * fix tests * fix tests * fix tests
This commit is contained in:
		
				
					committed by
					
						
						Antoine GIRARD
					
				
			
			
				
	
			
			
			
						parent
						
							9d9e6ac411
						
					
				
				
					commit
					7b7d382b8b
				
			@@ -63,7 +63,6 @@ func createSSHUrl(gitPath string, u *url.URL) *url.URL {
 | 
			
		||||
 | 
			
		||||
func allowLFSFilters() []string {
 | 
			
		||||
	// Now here we should explicitly allow lfs filters to run
 | 
			
		||||
	globalArgs := git.GlobalCommandArgs
 | 
			
		||||
	filteredLFSGlobalArgs := make([]string, len(git.GlobalCommandArgs))
 | 
			
		||||
	j := 0
 | 
			
		||||
	for _, arg := range git.GlobalCommandArgs {
 | 
			
		||||
@@ -74,9 +73,7 @@ func allowLFSFilters() []string {
 | 
			
		||||
			j++
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	filteredLFSGlobalArgs = filteredLFSGlobalArgs[:j]
 | 
			
		||||
	git.GlobalCommandArgs = filteredLFSGlobalArgs
 | 
			
		||||
	return globalArgs
 | 
			
		||||
	return filteredLFSGlobalArgs[:j]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func onGiteaRun(t *testing.T, callback func(*testing.T, *url.URL), prepare ...bool) {
 | 
			
		||||
@@ -107,9 +104,7 @@ func onGiteaRun(t *testing.T, callback func(*testing.T, *url.URL), prepare ...bo
 | 
			
		||||
 | 
			
		||||
func doGitClone(dstLocalPath string, u *url.URL) func(*testing.T) {
 | 
			
		||||
	return func(t *testing.T) {
 | 
			
		||||
		oldGlobals := allowLFSFilters()
 | 
			
		||||
		assert.NoError(t, git.Clone(u.String(), dstLocalPath, git.CloneRepoOptions{}))
 | 
			
		||||
		git.GlobalCommandArgs = oldGlobals
 | 
			
		||||
		assert.NoError(t, git.CloneWithArgs(u.String(), dstLocalPath, allowLFSFilters(), git.CloneRepoOptions{}))
 | 
			
		||||
		assert.True(t, com.IsExist(filepath.Join(dstLocalPath, "README.md")))
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -170,9 +165,7 @@ func doGitCreateBranch(dstPath, branch string) func(*testing.T) {
 | 
			
		||||
 | 
			
		||||
func doGitCheckoutBranch(dstPath string, args ...string) func(*testing.T) {
 | 
			
		||||
	return func(t *testing.T) {
 | 
			
		||||
		oldGlobals := allowLFSFilters()
 | 
			
		||||
		_, err := git.NewCommand(append([]string{"checkout"}, args...)...).RunInDir(dstPath)
 | 
			
		||||
		git.GlobalCommandArgs = oldGlobals
 | 
			
		||||
		_, err := git.NewCommandNoGlobals(append(append(allowLFSFilters(), "checkout"), args...)...).RunInDir(dstPath)
 | 
			
		||||
		assert.NoError(t, err)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -186,9 +179,7 @@ func doGitMerge(dstPath string, args ...string) func(*testing.T) {
 | 
			
		||||
 | 
			
		||||
func doGitPull(dstPath string, args ...string) func(*testing.T) {
 | 
			
		||||
	return func(t *testing.T) {
 | 
			
		||||
		oldGlobals := allowLFSFilters()
 | 
			
		||||
		_, err := git.NewCommand(append([]string{"pull"}, args...)...).RunInDir(dstPath)
 | 
			
		||||
		git.GlobalCommandArgs = oldGlobals
 | 
			
		||||
		_, err := git.NewCommandNoGlobals(append(append(allowLFSFilters(), "pull"), args...)...).RunInDir(dstPath)
 | 
			
		||||
		assert.NoError(t, err)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user