Use log capturing helper in TestApply_hooks
Along with the addition of the new arg to the helper for log level customization. Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>
This commit is contained in:
		
							parent
							
								
									f09ec18aa9
								
							
						
					
					
						commit
						6b69b31754
					
				|  | @ -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() | ||||
|  |  | |||
|  | @ -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}) | ||||
|  |  | |||
|  | @ -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) | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue