From 39ffeee9d8f9f2d27899311d06591a7ffaba3b26 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Wed, 1 Jul 2020 17:41:15 +0200 Subject: pkg/bisect: improve config minimization tests Change a test to actually produce a new config as it is supposed to do during config minimization and check the resulting config. Add a regression test for the bug where we committed a broken config. --- pkg/bisect/bisect_test.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'pkg/bisect') diff --git a/pkg/bisect/bisect_test.go b/pkg/bisect/bisect_test.go index 32d11af13..6815c1ab8 100644 --- a/pkg/bisect/bisect_test.go +++ b/pkg/bisect/bisect_test.go @@ -39,7 +39,7 @@ func (env *testEnv) BuildKernel(compilerBin, userspaceDir, cmdlineFile, sysctlFi kernelSign = "same-sign" } env.config = string(kernelConfig) - if env.config == "baseline-fails" { + if env.config == "baseline-fails" || env.config == "broken-build" { return "", kernelSign, fmt.Errorf("Failure") } return "", kernelSign, nil @@ -51,7 +51,7 @@ func (env *testEnv) Test(numVMs int, reproSyz, reproOpts, reproC []byte) ([]erro env.config == "baseline-skip" { return nil, fmt.Errorf("broken build") } - if (env.config == "baseline-repro" || env.config == "original config") && + if (env.config == "baseline-repro" || env.config == "new-minimized-config" || env.config == "original config") && (!env.test.fix && commit >= env.test.culprit || env.test.fix && commit < env.test.culprit) { return crashErrors(numVMs, "crash occurs"), nil @@ -182,6 +182,15 @@ var bisectionTests = []BisectionTest{ baselineConfig: "baseline-repro", resultingConfig: "baseline-repro", }, + { + name: "cause-finds-cause-baseline-broken-build", + startCommit: 905, + commitLen: 1, + expectRep: true, + culprit: 602, + baselineConfig: "baseline-broken-build", + resultingConfig: "original config", + }, { name: "cause-finds-cause-baseline-does-not-repro", startCommit: 905, @@ -216,7 +225,7 @@ var bisectionTests = []BisectionTest{ expectRep: true, culprit: 602, baselineConfig: "minimize-succeeds", - resultingConfig: "original config", + resultingConfig: "new-minimized-config", }, { name: "cause-finds-cause-minimize-fails", -- cgit mrf-deployment