Skip to content

Commit

Permalink
improve error log and add unit test (needed to force push to change c…
Browse files Browse the repository at this point in the history
…ommitting user) (#4177) (#4324)

Co-authored-by: mmokijewski <[email protected]>
  • Loading branch information
gcp-cherry-pick-bot[bot] and mmokijewski committed Mar 8, 2024
1 parent f9d071c commit 5152bcd
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 2 deletions.
4 changes: 2 additions & 2 deletions server/events/pending_plan_finder.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ func (p *DefaultPendingPlanFinder) findWithAbsPaths(pullDir string) ([]PendingPl
lsCmd.Dir = repoDir
lsOut, err := lsCmd.CombinedOutput()
if err != nil {
return nil, nil, errors.Wrapf(err, "running git ls-files . "+
"--others: %s", string(lsOut))
return nil, nil, errors.Wrapf(err, "running 'git ls-files . --others' in '%s' directory: %s",
repoDir, string(lsOut))
}
for _, file := range strings.Split(string(lsOut), "\n") {
if filepath.Ext(file) == ".tfplan" {
Expand Down
23 changes: 23 additions & 0 deletions server/events/pending_plan_finder_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package events_test

import (
"fmt"
"os"
"os/exec"
"path/filepath"
Expand All @@ -18,6 +19,28 @@ func TestPendingPlanFinder_FindNoDir(t *testing.T) {
ErrEquals(t, "open /doesntexist: no such file or directory", err)
}

// If one of the dir in PR dir is not git dir then it should throw an error.
func TestPendingPlanFinder_FindIncludingNotGitDir(t *testing.T) {
gitDirName := ".default"
notGitDirName := ".terragrunt-cache"
tmpDir := DirStructure(t, map[string]interface{}{
gitDirName: map[string]interface{}{
"default.tfplan": nil,
},
notGitDirName: map[string]interface{}{
"some_file.tfplan": nil,
},
})
// Initialize git in 'default' directory
gitDir := filepath.Join(tmpDir, gitDirName)
runCmd(t, gitDir, "git", "init")
pf := &events.DefaultPendingPlanFinder{}

_, err := pf.Find(tmpDir)
ErrEquals(t, fmt.Sprintf("running 'git ls-files . --others' in '%s/%s' directory: fatal: "+
"not a git repository (or any of the parent directories): .git\n: exit status 128", tmpDir, notGitDirName), err)
}

// Test different directory structures.
func TestPendingPlanFinder_Find(t *testing.T) {
cases := []struct {
Expand Down

0 comments on commit 5152bcd

Please sign in to comment.