diff options
Diffstat (limited to 'repository/git_testing.go')
-rw-r--r-- | repository/git_testing.go | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/repository/git_testing.go b/repository/git_testing.go index dd597a8e..36c53c1d 100644 --- a/repository/git_testing.go +++ b/repository/git_testing.go @@ -4,6 +4,7 @@ import ( "io/ioutil" "log" "os" + "strings" "testing" ) @@ -44,6 +45,18 @@ func CleanupTestRepos(t testing.TB, repos ...Repo) { var firstErr error for _, repo := range repos { path := repo.GetPath() + if strings.HasSuffix(path, "/.git") { + // for a normal repository (not --bare), we want to remove everything + // including the parent directory where files are checked out + path = strings.TrimSuffix(path, "/.git") + + // Testing non-bare repo should also check path is + // only .git (i.e. ./.git), but doing so, we should + // try to remove the current directory and hav some + // trouble. In the present case, this case should not + // occur. + // TODO consider warning or error when path == ".git" + } // fmt.Println("Cleaning repo:", path) err := os.RemoveAll(path) if err != nil { |