@@ -8,6 +8,7 @@ package integration_helpers
88import (
99 "errors"
1010 "fmt"
11+ "strings"
1112 "testing"
1213
1314 "github.com/paketo-buildpacks/occam"
@@ -76,24 +77,41 @@ type RetryBuild struct {
7677 retry int
7778}
7879
80+ type LogList []fmt.Stringer
81+
82+ func (l LogList ) String () string {
83+ var builder strings.Builder
84+
85+ for index , value := range l {
86+ if index > 0 {
87+ builder .WriteString ("\n " )
88+ }
89+ builder .WriteString (value .String ())
90+ }
91+
92+ return builder .String ()
93+ }
94+
7995func (r * RetryBuild ) Execute (packBuild occam.PackBuild , name string , source string ) (occam.Image , fmt.Stringer , error ) {
8096 var image occam.Image
81- var logs fmt. Stringer
97+ var allLogs LogList
8298 var errs error
8399
84100 for i := range r .retry + 1 {
85101 if i > 0 {
86102 r .t .Logf ("Retry %v\n " , i )
87103 }
88104 var err error
105+ var logs fmt.Stringer
89106 image , logs , err = packBuild .Execute (name , source )
107+ allLogs = append (allLogs , logs )
90108 if err == nil {
91- return image , logs , err
109+ return image , allLogs , err
92110 } else {
93111 errs = errors .Join (errs , err )
94112 r .t .Logf ("Build failed: %v\n " , err )
95113 }
96114 }
97115
98- return image , logs , errs
116+ return image , allLogs , errs
99117}
0 commit comments