From f7b01f08a31f0ab533410a3ba3b74f781674e059 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Tue, 7 Jul 2020 09:06:48 +0200 Subject: pkg/vcs: fix config bisection tests more config-bisect.pl uses bash-isms and can't run on non-linux. It also silently ignores all errors which made failures very obscure -- the script happily succeeds in presence of any errors. So the test failed later reading .config. Use "set -eu" to not fail silently. Also trace all config-bisect.pl invocations and output. good/bad decisions are important and we always log them in the normal bisection. --- pkg/vcs/linux.go | 2 ++ 1 file changed, 2 insertions(+) (limited to 'pkg/vcs/linux.go') diff --git a/pkg/vcs/linux.go b/pkg/vcs/linux.go index 3509c361a..a9a823621 100644 --- a/pkg/vcs/linux.go +++ b/pkg/vcs/linux.go @@ -273,6 +273,7 @@ func (ctx *linux) Minimize(original, baseline []byte, trace io.Writer, if err != nil { return nil, fmt.Errorf("config bisect failed: %v", err) } + fmt.Fprintf(trace, "# config-bisect.pl -r:\n%s", output) for { config, err := ioutil.ReadFile(filepath.Join(ctx.git.dir, ".config")) if err != nil { @@ -293,6 +294,7 @@ func (ctx *linux) Minimize(original, baseline []byte, trace io.Writer, output1, err := osutil.RunCmd(time.Hour, "", configBisect, "-l", ctx.git.dir, "-b", ctx.git.dir, kernelBaselineConfig, kernelConfig, verdict) + fmt.Fprintf(trace, "# config-bisect.pl %v:\n%s", verdict, output1) output = append(output, output1...) if err != nil { if verr, ok := err.(*osutil.VerboseError); ok && verr.ExitCode == 2 { -- cgit mrf-deployment