@@ -3016,21 +3016,75 @@ func TestInit(t *testing.T) {
30163016 initGitRepo (t , newGitRepoOptions {path : path .Join (dir , "repo2" ), remote : "https://github.com/argo-cd/test-repo2" , createPath : true , addEmptyCommit : false })
30173017
30183018 repoPath = path .Join (dir , "repo3" )
3019- lockFile := path .Join (repoPath , ".git" , "index.lock" )
3020- initGitRepo (t , newGitRepoOptions {path : repoPath , remote : "https://github.com/argo-cd/test-repo3" , createPath : true , addEmptyCommit : false })
3021- require .NoError (t , os .WriteFile (lockFile , []byte ("test" ), 0o644 ))
3019+ lockFile1 := path .Join (repoPath , ".git" , "index.lock" )
3020+ lockFile2 := path .Join (repoPath , ".git" , "index" )
3021+ lockFile3 := path .Join (repoPath , ".git" , "HEAD.lock" )
3022+ initGitRepo (t , newGitRepoOptions {path : repoPath , remote : "https://github.com/argo-cd/test-repo3" , createPath : true , addEmptyCommit : true })
3023+ require .NoError (t , os .WriteFile (lockFile1 , []byte ("test" ), 0o644 ))
3024+ require .NoError (t , os .WriteFile (lockFile2 , []byte ("test" ), 0o644 ))
3025+ require .NoError (t , os .WriteFile (lockFile3 , []byte ("test" ), 0o644 ))
30223026
30233027 service = newService (t , "." )
30243028 service .rootDir = dir
30253029
3026- _ , err = os .Stat (lockFile )
3030+ _ , err = os .Stat (lockFile1 )
30273031 require .NoError (t , err )
3032+ _ , err = os .Stat (lockFile2 )
3033+ require .NoError (t , err )
3034+ _ , err = os .Stat (lockFile3 )
3035+ require .NoError (t , err )
3036+
30283037 require .NoError (t , service .Init ())
3029- _ , err = os .Stat (lockFile )
3038+
3039+ _ , err = os .Stat (lockFile1 )
30303040 require .Error (t , err , "lock file should be removed after Init()" )
30313041 require .ErrorContains (t , err , ".git/index.lock: no such file or directory" )
3042+ // _, err = os.Stat(lockFile2)
3043+ // require.Error(t, err, "lock file should be removed after Init()")
3044+ // require.ErrorContains(t, err, ".git/index: no such file or directory")
3045+ // _, err = os.Stat(lockFile3)
3046+ // require.Error(t, err, "lock file should be removed after Init()")
3047+ // require.ErrorContains(t, err, ".git/HEAD.lock: no such file or directory")
30323048}
30333049
3050+ // func TestCleanupStaleFiles(t *testing.T) {
3051+ // // Setup: create a temp directory and some files to be cleaned up
3052+ // tmpDir := t.TempDir()
3053+ // gitDir := filepath.Join(tmpDir, ".git")
3054+ // require.NoError(t, os.MkdirAll(gitDir, 0o755))
3055+
3056+ // staleFile1 := filepath.Join(gitDir, "index.lock")
3057+ // staleFile2 := filepath.Join(gitDir, "index")
3058+ // staleFile3 := filepath.Join(gitDir, "HEAD.lock")
3059+
3060+ // require.NoError(t, os.WriteFile(staleFile1, []byte("foo"), 0o644))
3061+ // require.NoError(t, os.WriteFile(staleFile2, []byte("bar"), 0o644))
3062+ // require.NoError(t, os.WriteFile(staleFile3, []byte("baz"), 0o644))
3063+
3064+ // // Sanity check: files exist
3065+ // _, err := os.Stat(staleFile1)
3066+ // require.NoError(t, err)
3067+ // _, err = os.Stat(staleFile2)
3068+ // require.NoError(t, err)
3069+ // _, err = os.Stat(staleFile3)
3070+ // require.NoError(t, err)
3071+
3072+ // repo, err := gogit.PlainInit(tmpDir, false)
3073+ // require.NoError(t, err)
3074+
3075+ // // Call cleanupStaleFiles
3076+ // service := newService(t, tmpDir)
3077+ // service.cleanupStaleFiles(tmpDir, []string{"index.lock", "index", "HEAD.lock"}, repo)
3078+
3079+ // // Assert: files are removed
3080+ // _, err = os.Stat(staleFile1)
3081+ // assert.True(t, os.IsNotExist(err))
3082+ // _, err = os.Stat(staleFile2)
3083+ // assert.True(t, os.IsNotExist(err))
3084+ // _, err = os.Stat(staleFile3)
3085+ // assert.True(t, os.IsNotExist(err))
3086+ // }
3087+
30343088// TestCheckoutRevisionCanGetNonstandardRefs shows that we can fetch a revision that points to a non-standard ref. In
30353089// other words, we haven't regressed and caused this issue again: https://github.com/argoproj/argo-cd/issues/4935
30363090func TestCheckoutRevisionCanGetNonstandardRefs (t * testing.T ) {
0 commit comments