Prevent excessive log in tests

I had been unhappy with the fact that our go-test output had a lot of debug log messages which obfuscated test results.

I'm finally removeing all those by directing the test log output to io.Discard.

Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>
This commit is contained in:
Yusuke Kuoka 2022-10-10 08:43:04 +00:00
parent 31da58fa3c
commit 31cd729fd4
10 changed files with 56 additions and 56 deletions

View File

@ -61,7 +61,12 @@ func expectNoCallsToHelmVersion(app *App, isHelm3 bool) {
}
}
func newAppTestLogger() *zap.SugaredLogger {
return helmexec.NewLogger(io.Discard, "debug")
}
func TestVisitDesiredStatesWithReleasesFiltered_ReleaseOrder(t *testing.T) {
files := map[string]string{
"/path/to/helmfile.yaml": `
helmfiles:
@ -89,7 +94,7 @@ releases:
app := &App{
OverrideHelmBinary: DefaultHelmBinary,
OverrideKubeContext: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
Namespace: "",
Env: "default",
FileOrDir: "helmfile.yaml",
@ -146,7 +151,7 @@ BAZ: 4
app := &App{
OverrideHelmBinary: DefaultHelmBinary,
OverrideKubeContext: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
Namespace: "",
Env: "default",
FileOrDir: "helmfile.yaml",
@ -188,7 +193,7 @@ releases:
app := &App{
OverrideHelmBinary: DefaultHelmBinary,
OverrideKubeContext: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
Namespace: "",
Env: "default",
FileOrDir: "helmfile.yaml",
@ -234,7 +239,7 @@ releases:
app := &App{
OverrideHelmBinary: DefaultHelmBinary,
OverrideKubeContext: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
Namespace: "",
Env: "test",
}
@ -285,7 +290,7 @@ releases:
app := &App{
OverrideHelmBinary: DefaultHelmBinary,
OverrideKubeContext: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
Namespace: "",
Env: "default",
FileOrDir: "helmfile.yaml",
@ -351,7 +356,7 @@ releases:
app := &App{
OverrideHelmBinary: DefaultHelmBinary,
OverrideKubeContext: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
Selectors: []string{fmt.Sprintf("name=%s", testcase.name)},
Namespace: "",
Env: "default",
@ -408,7 +413,7 @@ releases:
app := appWithFs(&App{
OverrideHelmBinary: DefaultHelmBinary,
OverrideKubeContext: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
Namespace: "",
Selectors: []string{},
Env: testcase.name,
@ -768,7 +773,7 @@ func runFilterSubHelmFilesTests(testcases []struct {
app := appWithFs(&App{
OverrideHelmBinary: DefaultHelmBinary,
OverrideKubeContext: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
Namespace: "",
Selectors: []string{testcase.label},
Env: "default",
@ -854,7 +859,7 @@ tillerNs: INLINE_TILLER_NS_2
app := appWithFs(&App{
OverrideHelmBinary: DefaultHelmBinary,
OverrideKubeContext: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
Namespace: "",
Selectors: []string{},
Env: "default",
@ -963,7 +968,7 @@ releases:
app := appWithFs(&App{
OverrideHelmBinary: DefaultHelmBinary,
OverrideKubeContext: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
Namespace: "",
Selectors: []string{},
Env: "default",
@ -1027,7 +1032,7 @@ bar: "bar1"
app := appWithFs(&App{
OverrideHelmBinary: DefaultHelmBinary,
OverrideKubeContext: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
Namespace: "",
Selectors: []string{},
Env: "default",
@ -1148,7 +1153,7 @@ x:
app := appWithFs(&App{
OverrideHelmBinary: DefaultHelmBinary,
OverrideKubeContext: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
Namespace: "",
Selectors: []string{},
Env: testcase.env,
@ -1201,7 +1206,7 @@ releases:
app := appWithFs(&App{
OverrideHelmBinary: DefaultHelmBinary,
OverrideKubeContext: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
Namespace: "",
Env: "default",
Selectors: []string{},
@ -1257,7 +1262,7 @@ releases:
app := appWithFs(&App{
OverrideHelmBinary: DefaultHelmBinary,
OverrideKubeContext: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
Namespace: "",
Selectors: []string{},
Env: "default",
@ -1307,7 +1312,7 @@ releases:
app := appWithFs(&App{
OverrideHelmBinary: DefaultHelmBinary,
OverrideKubeContext: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
Namespace: "",
Env: "default",
FileOrDir: "helmfile.yaml",
@ -1354,7 +1359,7 @@ releases:
app := appWithFs(&App{
OverrideHelmBinary: DefaultHelmBinary,
OverrideKubeContext: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
Namespace: "",
Env: "default",
FileOrDir: "helmfile.yaml",
@ -1396,7 +1401,7 @@ releases:
app := appWithFs(&App{
OverrideHelmBinary: DefaultHelmBinary,
OverrideKubeContext: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
Namespace: "",
Env: "default",
FileOrDir: "helmfile.yaml",
@ -1438,7 +1443,7 @@ releases:
app := appWithFs(&App{
OverrideHelmBinary: DefaultHelmBinary,
OverrideKubeContext: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
Namespace: "",
Env: "default",
FileOrDir: "helmfile.yaml",
@ -1484,7 +1489,7 @@ releases:
app := appWithFs(&App{
OverrideHelmBinary: DefaultHelmBinary,
OverrideKubeContext: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
Namespace: "",
Env: "default",
FileOrDir: "helmfile.yaml",
@ -1531,7 +1536,7 @@ func TestLoadDesiredStateFromYaml_DuplicateReleaseName(t *testing.T) {
OverrideKubeContext: "default",
fs: fs,
Env: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
}
expectNoCallsToHelm(app)
@ -1590,7 +1595,7 @@ helmDefaults:
OverrideKubeContext: "default",
fs: testFs.ToFileSystem(),
Env: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
}
app.remote = remote.NewRemote(app.Logger, "", app.fs)
@ -1675,7 +1680,7 @@ helmDefaults:
OverrideHelmBinary: DefaultHelmBinary,
fs: testFs.ToFileSystem(),
Env: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
}
app.remote = remote.NewRemote(app.Logger, testFs.Cwd, app.fs)
@ -1751,7 +1756,7 @@ foo: FOO
OverrideHelmBinary: DefaultHelmBinary,
fs: testFs.ToFileSystem(),
Env: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
}
app.remote = remote.NewRemote(app.Logger, testFs.Cwd, app.fs)
@ -1814,7 +1819,7 @@ foo: FOO
OverrideHelmBinary: DefaultHelmBinary,
fs: testFs.ToFileSystem(),
Env: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
}
app.remote = remote.NewRemote(app.Logger, testFs.Cwd, app.fs)
@ -1895,7 +1900,7 @@ helmDefaults:
OverrideHelmBinary: DefaultHelmBinary,
fs: testFs.ToFileSystem(),
Env: "test",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
}
app.remote = remote.NewRemote(app.Logger, testFs.Cwd, app.fs)
@ -1968,7 +1973,7 @@ releases:
OverrideHelmBinary: DefaultHelmBinary,
fs: testFs.ToFileSystem(),
Env: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
}
app.remote = remote.NewRemote(app.Logger, testFs.Cwd, app.fs)
@ -2024,7 +2029,7 @@ releases:
OverrideHelmBinary: DefaultHelmBinary,
fs: testFs.ToFileSystem(),
Env: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
}
app.remote = remote.NewRemote(app.Logger, testFs.Cwd, app.fs)
@ -2079,7 +2084,7 @@ releases:
OverrideHelmBinary: DefaultHelmBinary,
fs: testFs.ToFileSystem(),
Env: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
}
app.remote = remote.NewRemote(app.Logger, testFs.Cwd, app.fs)
@ -2191,7 +2196,7 @@ services:
OverrideHelmBinary: DefaultHelmBinary,
fs: testFs.ToFileSystem(),
Env: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
}
app.remote = remote.NewRemote(app.Logger, testFs.Cwd, app.fs)
@ -4673,7 +4678,7 @@ releases:
app := appWithFs(&App{
OverrideHelmBinary: DefaultHelmBinary,
OverrideKubeContext: "default",
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: newAppTestLogger(),
Env: "default",
FileOrDir: "helmfile.yaml",
}, files)

View File

@ -74,7 +74,7 @@ func TestDestroy_2(t *testing.T) {
logFlushed.Wait()
}()
logger := helmexec.NewLogger(logWriter, "debug")
logger := newAppTestLogger()
valsRuntime, err := vals.New(vals.Options{CacheSize: 32})
if err != nil {

View File

@ -1051,7 +1051,7 @@ changing working directory back to "/path/to"
logFlushed.Wait()
}()
logger := helmexec.NewLogger(logWriter, "debug")
logger := newAppTestLogger()
valsRuntime, err := vals.New(vals.Options{CacheSize: 32})
if err != nil {

View File

@ -1,13 +1,11 @@
package app
import (
"os"
"strings"
"testing"
"gopkg.in/yaml.v3"
"github.com/helmfile/helmfile/pkg/helmexec"
"github.com/helmfile/helmfile/pkg/remote"
"github.com/helmfile/helmfile/pkg/state"
"github.com/helmfile/helmfile/pkg/testhelper"
@ -16,12 +14,12 @@ import (
// nolint: unparam
func makeLoader(files map[string]string, env string) (*desiredStateLoader, *testhelper.TestFs) {
testfs := testhelper.NewTestFs(files)
logger := helmexec.NewLogger(os.Stdout, "debug")
logger := newAppTestLogger()
r := remote.NewRemote(logger, testfs.Cwd, testfs.ToFileSystem())
return &desiredStateLoader{
env: env,
namespace: "namespace",
logger: helmexec.NewLogger(os.Stdout, "debug"),
logger: newAppTestLogger(),
fs: testfs.ToFileSystem(),
remote: r,
}, testfs

View File

@ -2,7 +2,7 @@ package remote
import (
"fmt"
"os"
"io"
"path/filepath"
"testing"
@ -55,7 +55,7 @@ func TestRemote_HttpsGitHub(t *testing.T) {
get: get,
}
remote := &Remote{
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: helmexec.NewLogger(io.Discard, "debug"),
Home: CacheDir(),
Getter: getter,
fs: testfs.ToFileSystem(),
@ -131,7 +131,7 @@ func TestRemote_SShGitHub(t *testing.T) {
get: get,
}
remote := &Remote{
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: helmexec.NewLogger(io.Discard, "debug"),
Home: CacheDir(),
Getter: getter,
fs: testfs.ToFileSystem(),
@ -201,7 +201,7 @@ func TestRemote_SShGitHub_WithSshKey(t *testing.T) {
get: get,
}
remote := &Remote{
Logger: helmexec.NewLogger(os.Stderr, "debug"),
Logger: helmexec.NewLogger(io.Discard, "debug"),
Home: CacheDir(),
Getter: getter,
fs: testfs.ToFileSystem(),

View File

@ -1,31 +1,27 @@
package state
import (
"io"
"testing"
"github.com/google/go-cmp/cmp"
"go.uber.org/zap"
ffs "github.com/helmfile/helmfile/pkg/filesystem"
"github.com/helmfile/helmfile/pkg/helmexec"
"github.com/helmfile/helmfile/pkg/remote"
)
func newLoader() *EnvironmentValuesLoader {
log, err := zap.NewDevelopment(zap.AddStacktrace(zap.DebugLevel))
if err != nil {
panic(err)
}
sugar := log.Sugar()
log := helmexec.NewLogger(io.Discard, "debug")
storage := &Storage{
FilePath: "./helmfile.yaml",
basePath: ".",
fs: ffs.DefaultFileSystem(),
logger: sugar,
logger: log,
}
return NewEnvironmentValuesLoader(storage, storage.fs, sugar, remote.NewRemote(sugar, "/tmp", storage.fs))
return NewEnvironmentValuesLoader(storage, storage.fs, log, remote.NewRemote(log, "/tmp", storage.fs))
}
// See https://github.com/roboll/helmfile/pull/1169

View File

@ -2,6 +2,7 @@ package state
import (
"fmt"
"io"
"os"
"testing"
@ -12,7 +13,7 @@ import (
)
func TestGoGetter(t *testing.T) {
logger := helmexec.NewLogger(os.Stderr, "warn")
logger := helmexec.NewLogger(io.Discard, "warn")
testcases := []struct {
chart, dir string

View File

@ -2,6 +2,7 @@ package state
import (
"fmt"
"io"
"os"
"path/filepath"
"reflect"
@ -18,7 +19,7 @@ import (
"github.com/helmfile/helmfile/pkg/testhelper"
)
var logger = helmexec.NewLogger(os.Stdout, "warn")
var logger = helmexec.NewLogger(io.Discard, "warn")
var valsRuntime, _ = vals.New(vals.Options{CacheSize: 32})
func injectFs(st *HelmState, fs *testhelper.TestFs) *HelmState {
@ -1914,7 +1915,7 @@ generated: 2019-05-16T15:42:45.50486+09:00
return generatedDir, nil
}
logger := helmexec.NewLogger(os.Stderr, "debug")
logger := helmexec.NewLogger(io.Discard, "debug")
basePath := "/src"
state := &HelmState{
basePath: basePath,
@ -1980,7 +1981,7 @@ generated: 2019-05-16T15:42:45.50486+09:00
}
func TestHelmState_ResolveDeps_NoLockFile(t *testing.T) {
logger := helmexec.NewLogger(os.Stderr, "debug")
logger := helmexec.NewLogger(io.Discard, "debug")
state := &HelmState{
basePath: "/src",
FilePath: "/src/helmfile.yaml",

View File

@ -2,7 +2,7 @@ package state
import (
"fmt"
"os"
"io"
"reflect"
"testing"
@ -73,7 +73,7 @@ func TestStorage_resolveFile(t *testing.T) {
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
st := NewStorage(cacheDir, helmexec.NewLogger(os.Stderr, "debug"), filesystem.DefaultFileSystem())
st := NewStorage(cacheDir, helmexec.NewLogger(io.Discard, "debug"), filesystem.DefaultFileSystem())
files, skipped, err := st.resolveFile(tt.args.missingFileHandler, tt.args.title, tt.args.path)
if (err != nil) != tt.wantErr {

View File

@ -26,7 +26,6 @@ func NewTestFs(files map[string]string) *TestFs {
for abs := range files {
for d := filepath.ToSlash(filepath.Dir(abs)); !dirs[d]; d = filepath.ToSlash(filepath.Dir(d)) {
dirs[d] = true
fmt.Fprintf(os.Stderr, "testfs: recognized dir: %s\n", d)
}
}
return &TestFs{