diff --git a/pkg/app/app_apply_hooks_test.go b/pkg/app/app_apply_hooks_test.go index dd29e7d4..8466d2c4 100644 --- a/pkg/app/app_apply_hooks_test.go +++ b/pkg/app/app_apply_hooks_test.go @@ -1,14 +1,12 @@ package app import ( - "bufio" - "bytes" - "io" "sync" "testing" "github.com/google/go-cmp/cmp" "github.com/variantdev/vals" + "go.uber.org/zap" "github.com/helmfile/helmfile/pkg/exectest" "github.com/helmfile/helmfile/pkg/helmexec" @@ -54,35 +52,9 @@ func TestApply_hooks(t *testing.T) { ReleasesMutex: &sync.Mutex{}, } - bs := &bytes.Buffer{} - - func() { + bs := runWithLogCapture(t, tc.logLevel, func(t *testing.T, logger *zap.SugaredLogger) { t.Helper() - logReader, logWriter := io.Pipe() - - logFlushed := &sync.WaitGroup{} - // Ensure all the log is consumed into `bs` by calling `logWriter.Close()` followed by `logFlushed.Wait()` - logFlushed.Add(1) - go func() { - scanner := bufio.NewScanner(logReader) - for scanner.Scan() { - bs.Write(scanner.Bytes()) - bs.WriteString("\n") - } - logFlushed.Done() - }() - - defer func() { - // This is here to avoid data-trace on bytes buffer `bs` to capture logs - if err := logWriter.Close(); err != nil { - panic(err) - } - logFlushed.Wait() - }() - - logger := helmexec.NewLogger(logWriter, tc.logLevel) - valsRuntime, err := vals.New(vals.Options{CacheSize: 32}) if err != nil { t.Errorf("unexpected error creating vals runtime: %v", err) @@ -155,7 +127,7 @@ func TestApply_hooks(t *testing.T) { } } } - }() + }) if tc.log != "" { actual := bs.String() diff --git a/pkg/app/app_apply_nokubectx_test.go b/pkg/app/app_apply_nokubectx_test.go index 1261e31d..a7ced941 100644 --- a/pkg/app/app_apply_nokubectx_test.go +++ b/pkg/app/app_apply_nokubectx_test.go @@ -52,7 +52,7 @@ func TestApply_3(t *testing.T) { ReleasesMutex: &sync.Mutex{}, } - bs := runWithLogCapture(t, func(t *testing.T, logger *zap.SugaredLogger) { + bs := runWithLogCapture(t, "debug", func(t *testing.T, logger *zap.SugaredLogger) { t.Helper() valsRuntime, err := vals.New(vals.Options{CacheSize: 32}) diff --git a/pkg/app/snapshot_test.go b/pkg/app/snapshot_test.go index da42453f..29c52ab8 100644 --- a/pkg/app/snapshot_test.go +++ b/pkg/app/snapshot_test.go @@ -17,7 +17,7 @@ import ( "github.com/helmfile/helmfile/pkg/helmexec" ) -func runWithLogCapture(t *testing.T, f func(*testing.T, *zap.SugaredLogger)) *bytes.Buffer { +func runWithLogCapture(t *testing.T, logLevel string, f func(*testing.T, *zap.SugaredLogger)) *bytes.Buffer { t.Helper() bs := &bytes.Buffer{} @@ -44,7 +44,7 @@ func runWithLogCapture(t *testing.T, f func(*testing.T, *zap.SugaredLogger)) *by logFlushed.Wait() }() - logger := helmexec.NewLogger(logWriter, "debug") + logger := helmexec.NewLogger(logWriter, logLevel) f(t, logger)