From 23e52a3e12e9073cdc59ae714289d11dd3b9fb1c Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Mon, 8 May 2023 15:03:43 -0400 Subject: [PATCH] bisect: diagnose bad targets better If a run fails but prints no matches, that's usually a misconfiguration of the target or a build failure or something like that. Stop immediately in the run method, instead of having to check for the case later. This way, this failure mode is diagnosed more quickly and more consistently. Change-Id: I43141c499b04e304bfb0417a5efd1e1b5dc2ba5e Reviewed-on: https://go-review.googlesource.com/c/tools/+/493618 Reviewed-by: David Chase Auto-Submit: Russ Cox TryBot-Result: Gopher Robot Run-TryBot: Russ Cox --- cmd/bisect/main.go | 10 +- cmd/bisect/testdata/basic.txt | 48 ++++---- cmd/bisect/testdata/count2.txt | 94 +++++++-------- cmd/bisect/testdata/double.txt | 72 ++++++------ cmd/bisect/testdata/max1.txt | 24 ++-- cmd/bisect/testdata/max2.txt | 78 ++++++------- cmd/bisect/testdata/maxset.txt | 124 ++++++++++---------- cmd/bisect/testdata/maxset1.txt | 10 +- cmd/bisect/testdata/maxset4.txt | 196 ++++++++++++++++---------------- cmd/bisect/testdata/negate.txt | 72 ++++++------ cmd/bisect/testdata/rand.txt | 74 ++++++------ cmd/bisect/testdata/rand1.txt | 32 +++--- cmd/bisect/testdata/rand2.txt | 22 ++-- 13 files changed, 430 insertions(+), 426 deletions(-) diff --git a/cmd/bisect/main.go b/cmd/bisect/main.go index 5bdb400b91e..1fc2b0283e0 100644 --- a/cmd/bisect/main.go +++ b/cmd/bisect/main.go @@ -240,13 +240,13 @@ func (b *Bisect) Search() bool { switch { case runN.Success && !runY.Success: b.Logf("target succeeds with no changes, fails with all changes") - b.Logf("searching for minimal set of changes to enable to cause failure") + b.Logf("searching for minimal set of enabled changes causing failure") broken = runY b.Disable = false case !runN.Success && runY.Success: b.Logf("target fails with no changes, succeeds with all changes") - b.Logf("searching for minimal set of changes to disable to cause failure") + b.Logf("searching for minimal set of disabled changes causing failure") broken = runN b.Disable = true @@ -500,7 +500,7 @@ func (b *Bisect) run(suffix string) *Result { // There is no newline in the log print. // The line will be completed when the command finishes. cmdText := strings.Join(append(append(env, b.Cmd), args...), " ") - fmt.Fprintf(b.Stderr, "bisect: run %s...", cmdText) + fmt.Fprintf(b.Stderr, "bisect: run: %s...", cmdText) // Run command with args and env. var out []byte @@ -567,6 +567,10 @@ func (b *Bisect) run(suffix string) *Result { fmt.Fprintf(b.Stderr, " FAIL (%d matches)\n", len(r.MatchIDs)) } + if err != nil && len(r.MatchIDs) == 0 { + b.Fatalf("target failed without printing any matches\n%s", r.Out) + } + // In verbose mode, print extra debugging: all the lines with match markers. if b.Verbose { b.Logf("matches:\n%s", strings.Join(r.MatchFull, "\n\t")) diff --git a/cmd/bisect/testdata/basic.txt b/cmd/bisect/testdata/basic.txt index 97c64fc5d09..57543bd5af4 100644 --- a/cmd/bisect/testdata/basic.txt +++ b/cmd/bisect/testdata/basic.txt @@ -8,37 +8,37 @@ apricot --- -- stderr -- bisect: checking target with all changes disabled -bisect: run test n... ok (90 matches) +bisect: run: test n... ok (90 matches) bisect: checking target with all changes enabled -bisect: run test y... FAIL (90 matches) +bisect: run: test y... FAIL (90 matches) bisect: target succeeds with no changes, fails with all changes -bisect: searching for minimal set of changes to enable to cause failure -bisect: run test +0... FAIL (45 matches) -bisect: run test +00... ok (23 matches) -bisect: run test +10... FAIL (22 matches) -bisect: run test +010... FAIL (11 matches) -bisect: run test +0010... FAIL (6 matches) -bisect: run test +00010... FAIL (3 matches) -bisect: run test +000010... FAIL (2 matches) -bisect: run test +0000010... FAIL (1 matches) +bisect: searching for minimal set of enabled changes causing failure +bisect: run: test +0... FAIL (45 matches) +bisect: run: test +00... ok (23 matches) +bisect: run: test +10... FAIL (22 matches) +bisect: run: test +010... FAIL (11 matches) +bisect: run: test +0010... FAIL (6 matches) +bisect: run: test +00010... FAIL (3 matches) +bisect: run: test +000010... FAIL (2 matches) +bisect: run: test +0000010... FAIL (1 matches) bisect: confirming failing change set -bisect: run test v+0000010... FAIL (1 matches) +bisect: run: test v+0000010... FAIL (1 matches) bisect: FOUND failing change set bisect: checking for more failures -bisect: run test -0000010... FAIL (89 matches) +bisect: run: test -0000010... FAIL (89 matches) bisect: target still fails; searching for more bad changes -bisect: run test +0-0000010... FAIL (44 matches) -bisect: run test +00-0000010... ok (23 matches) -bisect: run test +10-0000010... FAIL (21 matches) -bisect: run test +010-0000010... ok (10 matches) -bisect: run test +110-0000010... FAIL (11 matches) -bisect: run test +0110-0000010... FAIL (6 matches) -bisect: run test +00110-0000010... FAIL (3 matches) -bisect: run test +000110-0000010... FAIL (2 matches) -bisect: run test +0000110-0000010... FAIL (1 matches) +bisect: run: test +0-0000010... FAIL (44 matches) +bisect: run: test +00-0000010... ok (23 matches) +bisect: run: test +10-0000010... FAIL (21 matches) +bisect: run: test +010-0000010... ok (10 matches) +bisect: run: test +110-0000010... FAIL (11 matches) +bisect: run: test +0110-0000010... FAIL (6 matches) +bisect: run: test +00110-0000010... FAIL (3 matches) +bisect: run: test +000110-0000010... FAIL (2 matches) +bisect: run: test +0000110-0000010... FAIL (1 matches) bisect: confirming failing change set -bisect: run test v+0000110-0000010... FAIL (1 matches) +bisect: run: test v+0000110-0000010... FAIL (1 matches) bisect: FOUND failing change set bisect: checking for more failures -bisect: run test -0000110-0000010... ok (88 matches) +bisect: run: test -0000110-0000010... ok (88 matches) bisect: target succeeds with all remaining changes enabled diff --git a/cmd/bisect/testdata/count2.txt b/cmd/bisect/testdata/count2.txt index 64d76a7a63c..cee0cd07398 100644 --- a/cmd/bisect/testdata/count2.txt +++ b/cmd/bisect/testdata/count2.txt @@ -8,60 +8,60 @@ apricot --- -- stderr -- bisect: checking target with all changes disabled -bisect: run test n... ok (90 matches) -bisect: run test n... ok (90 matches) +bisect: run: test n... ok (90 matches) +bisect: run: test n... ok (90 matches) bisect: checking target with all changes enabled -bisect: run test y... FAIL (90 matches) -bisect: run test y... FAIL (90 matches) +bisect: run: test y... FAIL (90 matches) +bisect: run: test y... FAIL (90 matches) bisect: target succeeds with no changes, fails with all changes -bisect: searching for minimal set of changes to enable to cause failure -bisect: run test +0... FAIL (45 matches) -bisect: run test +0... FAIL (45 matches) -bisect: run test +00... ok (23 matches) -bisect: run test +00... ok (23 matches) -bisect: run test +10... FAIL (22 matches) -bisect: run test +10... FAIL (22 matches) -bisect: run test +010... FAIL (11 matches) -bisect: run test +010... FAIL (11 matches) -bisect: run test +0010... FAIL (6 matches) -bisect: run test +0010... FAIL (6 matches) -bisect: run test +00010... FAIL (3 matches) -bisect: run test +00010... FAIL (3 matches) -bisect: run test +000010... FAIL (2 matches) -bisect: run test +000010... FAIL (2 matches) -bisect: run test +0000010... FAIL (1 matches) -bisect: run test +0000010... FAIL (1 matches) +bisect: searching for minimal set of enabled changes causing failure +bisect: run: test +0... FAIL (45 matches) +bisect: run: test +0... FAIL (45 matches) +bisect: run: test +00... ok (23 matches) +bisect: run: test +00... ok (23 matches) +bisect: run: test +10... FAIL (22 matches) +bisect: run: test +10... FAIL (22 matches) +bisect: run: test +010... FAIL (11 matches) +bisect: run: test +010... FAIL (11 matches) +bisect: run: test +0010... FAIL (6 matches) +bisect: run: test +0010... FAIL (6 matches) +bisect: run: test +00010... FAIL (3 matches) +bisect: run: test +00010... FAIL (3 matches) +bisect: run: test +000010... FAIL (2 matches) +bisect: run: test +000010... FAIL (2 matches) +bisect: run: test +0000010... FAIL (1 matches) +bisect: run: test +0000010... FAIL (1 matches) bisect: confirming failing change set -bisect: run test v+0000010... FAIL (1 matches) -bisect: run test v+0000010... FAIL (1 matches) +bisect: run: test v+0000010... FAIL (1 matches) +bisect: run: test v+0000010... FAIL (1 matches) bisect: FOUND failing change set bisect: checking for more failures -bisect: run test -0000010... FAIL (89 matches) -bisect: run test -0000010... FAIL (89 matches) +bisect: run: test -0000010... FAIL (89 matches) +bisect: run: test -0000010... FAIL (89 matches) bisect: target still fails; searching for more bad changes -bisect: run test +0-0000010... FAIL (44 matches) -bisect: run test +0-0000010... FAIL (44 matches) -bisect: run test +00-0000010... ok (23 matches) -bisect: run test +00-0000010... ok (23 matches) -bisect: run test +10-0000010... FAIL (21 matches) -bisect: run test +10-0000010... FAIL (21 matches) -bisect: run test +010-0000010... ok (10 matches) -bisect: run test +010-0000010... ok (10 matches) -bisect: run test +110-0000010... FAIL (11 matches) -bisect: run test +110-0000010... FAIL (11 matches) -bisect: run test +0110-0000010... FAIL (6 matches) -bisect: run test +0110-0000010... FAIL (6 matches) -bisect: run test +00110-0000010... FAIL (3 matches) -bisect: run test +00110-0000010... FAIL (3 matches) -bisect: run test +000110-0000010... FAIL (2 matches) -bisect: run test +000110-0000010... FAIL (2 matches) -bisect: run test +0000110-0000010... FAIL (1 matches) -bisect: run test +0000110-0000010... FAIL (1 matches) +bisect: run: test +0-0000010... FAIL (44 matches) +bisect: run: test +0-0000010... FAIL (44 matches) +bisect: run: test +00-0000010... ok (23 matches) +bisect: run: test +00-0000010... ok (23 matches) +bisect: run: test +10-0000010... FAIL (21 matches) +bisect: run: test +10-0000010... FAIL (21 matches) +bisect: run: test +010-0000010... ok (10 matches) +bisect: run: test +010-0000010... ok (10 matches) +bisect: run: test +110-0000010... FAIL (11 matches) +bisect: run: test +110-0000010... FAIL (11 matches) +bisect: run: test +0110-0000010... FAIL (6 matches) +bisect: run: test +0110-0000010... FAIL (6 matches) +bisect: run: test +00110-0000010... FAIL (3 matches) +bisect: run: test +00110-0000010... FAIL (3 matches) +bisect: run: test +000110-0000010... FAIL (2 matches) +bisect: run: test +000110-0000010... FAIL (2 matches) +bisect: run: test +0000110-0000010... FAIL (1 matches) +bisect: run: test +0000110-0000010... FAIL (1 matches) bisect: confirming failing change set -bisect: run test v+0000110-0000010... FAIL (1 matches) -bisect: run test v+0000110-0000010... FAIL (1 matches) +bisect: run: test v+0000110-0000010... FAIL (1 matches) +bisect: run: test v+0000110-0000010... FAIL (1 matches) bisect: FOUND failing change set bisect: checking for more failures -bisect: run test -0000110-0000010... ok (88 matches) -bisect: run test -0000110-0000010... ok (88 matches) +bisect: run: test -0000110-0000010... ok (88 matches) +bisect: run: test -0000110-0000010... ok (88 matches) bisect: target succeeds with all remaining changes enabled diff --git a/cmd/bisect/testdata/double.txt b/cmd/bisect/testdata/double.txt index cf24ac2c96b..93712ad5afe 100644 --- a/cmd/bisect/testdata/double.txt +++ b/cmd/bisect/testdata/double.txt @@ -9,49 +9,49 @@ peach --- -- stderr -- bisect: checking target with all changes disabled -bisect: run test n... ok (90 matches) +bisect: run: test n... ok (90 matches) bisect: checking target with all changes enabled -bisect: run test y... FAIL (90 matches) +bisect: run: test y... FAIL (90 matches) bisect: target succeeds with no changes, fails with all changes -bisect: searching for minimal set of changes to enable to cause failure -bisect: run test +0... FAIL (45 matches) -bisect: run test +00... ok (23 matches) -bisect: run test +10... FAIL (22 matches) -bisect: run test +010... FAIL (11 matches) -bisect: run test +0010... FAIL (6 matches) -bisect: run test +00010... FAIL (3 matches) -bisect: run test +000010... FAIL (2 matches) -bisect: run test +0000010... FAIL (1 matches) +bisect: searching for minimal set of enabled changes causing failure +bisect: run: test +0... FAIL (45 matches) +bisect: run: test +00... ok (23 matches) +bisect: run: test +10... FAIL (22 matches) +bisect: run: test +010... FAIL (11 matches) +bisect: run: test +0010... FAIL (6 matches) +bisect: run: test +00010... FAIL (3 matches) +bisect: run: test +000010... FAIL (2 matches) +bisect: run: test +0000010... FAIL (1 matches) bisect: confirming failing change set -bisect: run test v+0000010... FAIL (1 matches) +bisect: run: test v+0000010... FAIL (1 matches) bisect: FOUND failing change set bisect: checking for more failures -bisect: run test -0000010... FAIL (89 matches) +bisect: run: test -0000010... FAIL (89 matches) bisect: target still fails; searching for more bad changes -bisect: run test +0-0000010... ok (44 matches) -bisect: run test +1-0000010... ok (45 matches) -bisect: run test +0+1-0000010... FAIL (44 matches) -bisect: run test +00+1-0000010... ok (23 matches) -bisect: run test +10+1-0000010... FAIL (21 matches) -bisect: run test +010+1-0000010... ok (10 matches) -bisect: run test +110+1-0000010... FAIL (11 matches) -bisect: run test +0110+1-0000010... FAIL (6 matches) -bisect: run test +00110+1-0000010... FAIL (3 matches) -bisect: run test +000110+1-0000010... FAIL (2 matches) -bisect: run test +0000110+1-0000010... FAIL (1 matches) -bisect: run test +1+0000110-0000010... FAIL (45 matches) -bisect: run test +01+0000110-0000010... ok (23 matches) -bisect: run test +11+0000110-0000010... FAIL (22 matches) -bisect: run test +011+0000110-0000010... FAIL (11 matches) -bisect: run test +0011+0000110-0000010... ok (6 matches) -bisect: run test +1011+0000110-0000010... FAIL (5 matches) -bisect: run test +01011+0000110-0000010... ok (3 matches) -bisect: run test +11011+0000110-0000010... FAIL (2 matches) -bisect: run test +011011+0000110-0000010... ok (1 matches) -bisect: run test +111011+0000110-0000010... FAIL (1 matches) +bisect: run: test +0-0000010... ok (44 matches) +bisect: run: test +1-0000010... ok (45 matches) +bisect: run: test +0+1-0000010... FAIL (44 matches) +bisect: run: test +00+1-0000010... ok (23 matches) +bisect: run: test +10+1-0000010... FAIL (21 matches) +bisect: run: test +010+1-0000010... ok (10 matches) +bisect: run: test +110+1-0000010... FAIL (11 matches) +bisect: run: test +0110+1-0000010... FAIL (6 matches) +bisect: run: test +00110+1-0000010... FAIL (3 matches) +bisect: run: test +000110+1-0000010... FAIL (2 matches) +bisect: run: test +0000110+1-0000010... FAIL (1 matches) +bisect: run: test +1+0000110-0000010... FAIL (45 matches) +bisect: run: test +01+0000110-0000010... ok (23 matches) +bisect: run: test +11+0000110-0000010... FAIL (22 matches) +bisect: run: test +011+0000110-0000010... FAIL (11 matches) +bisect: run: test +0011+0000110-0000010... ok (6 matches) +bisect: run: test +1011+0000110-0000010... FAIL (5 matches) +bisect: run: test +01011+0000110-0000010... ok (3 matches) +bisect: run: test +11011+0000110-0000010... FAIL (2 matches) +bisect: run: test +011011+0000110-0000010... ok (1 matches) +bisect: run: test +111011+0000110-0000010... FAIL (1 matches) bisect: confirming failing change set -bisect: run test v+0000110+111011-0000010... FAIL (2 matches) +bisect: run: test v+0000110+111011-0000010... FAIL (2 matches) bisect: FOUND failing change set bisect: checking for more failures -bisect: run test -0000110-111011-0000010... ok (87 matches) +bisect: run: test -0000110-111011-0000010... ok (87 matches) bisect: target succeeds with all remaining changes enabled diff --git a/cmd/bisect/testdata/max1.txt b/cmd/bisect/testdata/max1.txt index a523ea7294c..e1848d5e5b1 100644 --- a/cmd/bisect/testdata/max1.txt +++ b/cmd/bisect/testdata/max1.txt @@ -5,19 +5,19 @@ amber --- -- stderr -- bisect: checking target with all changes disabled -bisect: run test n... ok (90 matches) +bisect: run: test n... ok (90 matches) bisect: checking target with all changes enabled -bisect: run test y... FAIL (90 matches) +bisect: run: test y... FAIL (90 matches) bisect: target succeeds with no changes, fails with all changes -bisect: searching for minimal set of changes to enable to cause failure -bisect: run test +0... FAIL (45 matches) -bisect: run test +00... ok (23 matches) -bisect: run test +10... FAIL (22 matches) -bisect: run test +010... FAIL (11 matches) -bisect: run test +0010... FAIL (6 matches) -bisect: run test +00010... FAIL (3 matches) -bisect: run test +000010... FAIL (2 matches) -bisect: run test +0000010... FAIL (1 matches) +bisect: searching for minimal set of enabled changes causing failure +bisect: run: test +0... FAIL (45 matches) +bisect: run: test +00... ok (23 matches) +bisect: run: test +10... FAIL (22 matches) +bisect: run: test +010... FAIL (11 matches) +bisect: run: test +0010... FAIL (6 matches) +bisect: run: test +00010... FAIL (3 matches) +bisect: run: test +000010... FAIL (2 matches) +bisect: run: test +0000010... FAIL (1 matches) bisect: confirming failing change set -bisect: run test v+0000010... FAIL (1 matches) +bisect: run: test v+0000010... FAIL (1 matches) bisect: FOUND failing change set diff --git a/cmd/bisect/testdata/max2.txt b/cmd/bisect/testdata/max2.txt index 63ea3a183c5..9f651692aa3 100644 --- a/cmd/bisect/testdata/max2.txt +++ b/cmd/bisect/testdata/max2.txt @@ -10,50 +10,50 @@ red --- -- stderr -- bisect: checking target with all changes disabled -bisect: run test n... ok (90 matches) +bisect: run: test n... ok (90 matches) bisect: checking target with all changes enabled -bisect: run test y... FAIL (90 matches) +bisect: run: test y... FAIL (90 matches) bisect: target succeeds with no changes, fails with all changes -bisect: searching for minimal set of changes to enable to cause failure -bisect: run test +0... FAIL (45 matches) -bisect: run test +00... ok (23 matches) -bisect: run test +10... FAIL (22 matches) -bisect: run test +010... FAIL (11 matches) -bisect: run test +0010... FAIL (6 matches) -bisect: run test +00010... FAIL (3 matches) -bisect: run test +000010... FAIL (2 matches) -bisect: run test +0000010... FAIL (1 matches) +bisect: searching for minimal set of enabled changes causing failure +bisect: run: test +0... FAIL (45 matches) +bisect: run: test +00... ok (23 matches) +bisect: run: test +10... FAIL (22 matches) +bisect: run: test +010... FAIL (11 matches) +bisect: run: test +0010... FAIL (6 matches) +bisect: run: test +00010... FAIL (3 matches) +bisect: run: test +000010... FAIL (2 matches) +bisect: run: test +0000010... FAIL (1 matches) bisect: confirming failing change set -bisect: run test v+0000010... FAIL (1 matches) +bisect: run: test v+0000010... FAIL (1 matches) bisect: FOUND failing change set bisect: checking for more failures -bisect: run test -0000010... FAIL (89 matches) +bisect: run: test -0000010... FAIL (89 matches) bisect: target still fails; searching for more bad changes -bisect: run test +0-0000010... ok (44 matches) -bisect: run test +1-0000010... FAIL (45 matches) -bisect: run test +01-0000010... ok (23 matches) -bisect: run test +11-0000010... ok (22 matches) -bisect: run test +01+11-0000010... FAIL (23 matches) -bisect: run test +001+11-0000010... ok (12 matches) -bisect: run test +101+11-0000010... FAIL (11 matches) -bisect: run test +0101+11-0000010... ok (6 matches) -bisect: run test +1101+11-0000010... ok (5 matches) -bisect: run test +0101+11+1101-0000010... FAIL (6 matches) -bisect: run test +00101+11+1101-0000010... FAIL (3 matches) -bisect: run test +000101+11+1101-0000010... FAIL (2 matches) -bisect: run test +0000101+11+1101-0000010... ok (1 matches) -bisect: run test +1000101+11+1101-0000010... FAIL (1 matches) -bisect: run test +1101+11+1000101-0000010... FAIL (5 matches) -bisect: run test +01101+11+1000101-0000010... FAIL (3 matches) -bisect: run test +001101+11+1000101-0000010... FAIL (2 matches) -bisect: run test +0001101+11+1000101-0000010... FAIL (1 matches) -bisect: run test +11+1000101+0001101-0000010... FAIL (22 matches) -bisect: run test +011+1000101+0001101-0000010... ok (11 matches) -bisect: run test +111+1000101+0001101-0000010... FAIL (11 matches) -bisect: run test +0111+1000101+0001101-0000010... FAIL (6 matches) -bisect: run test +00111+1000101+0001101-0000010... FAIL (3 matches) -bisect: run test +000111+1000101+0001101-0000010... ok (2 matches) -bisect: run test +100111+1000101+0001101-0000010... FAIL (1 matches) +bisect: run: test +0-0000010... ok (44 matches) +bisect: run: test +1-0000010... FAIL (45 matches) +bisect: run: test +01-0000010... ok (23 matches) +bisect: run: test +11-0000010... ok (22 matches) +bisect: run: test +01+11-0000010... FAIL (23 matches) +bisect: run: test +001+11-0000010... ok (12 matches) +bisect: run: test +101+11-0000010... FAIL (11 matches) +bisect: run: test +0101+11-0000010... ok (6 matches) +bisect: run: test +1101+11-0000010... ok (5 matches) +bisect: run: test +0101+11+1101-0000010... FAIL (6 matches) +bisect: run: test +00101+11+1101-0000010... FAIL (3 matches) +bisect: run: test +000101+11+1101-0000010... FAIL (2 matches) +bisect: run: test +0000101+11+1101-0000010... ok (1 matches) +bisect: run: test +1000101+11+1101-0000010... FAIL (1 matches) +bisect: run: test +1101+11+1000101-0000010... FAIL (5 matches) +bisect: run: test +01101+11+1000101-0000010... FAIL (3 matches) +bisect: run: test +001101+11+1000101-0000010... FAIL (2 matches) +bisect: run: test +0001101+11+1000101-0000010... FAIL (1 matches) +bisect: run: test +11+1000101+0001101-0000010... FAIL (22 matches) +bisect: run: test +011+1000101+0001101-0000010... ok (11 matches) +bisect: run: test +111+1000101+0001101-0000010... FAIL (11 matches) +bisect: run: test +0111+1000101+0001101-0000010... FAIL (6 matches) +bisect: run: test +00111+1000101+0001101-0000010... FAIL (3 matches) +bisect: run: test +000111+1000101+0001101-0000010... ok (2 matches) +bisect: run: test +100111+1000101+0001101-0000010... FAIL (1 matches) bisect: confirming failing change set -bisect: run test v+1000101+0001101+100111-0000010... FAIL (3 matches) +bisect: run: test v+1000101+0001101+100111-0000010... FAIL (3 matches) bisect: FOUND failing change set diff --git a/cmd/bisect/testdata/maxset.txt b/cmd/bisect/testdata/maxset.txt index 8dc47152501..259fa3e57a7 100644 --- a/cmd/bisect/testdata/maxset.txt +++ b/cmd/bisect/testdata/maxset.txt @@ -10,75 +10,75 @@ red --- -- stderr -- bisect: checking target with all changes disabled -bisect: run test n... ok (90 matches) +bisect: run: test n... ok (90 matches) bisect: checking target with all changes enabled -bisect: run test y... FAIL (90 matches) +bisect: run: test y... FAIL (90 matches) bisect: target succeeds with no changes, fails with all changes -bisect: searching for minimal set of changes to enable to cause failure -bisect: run test +0... FAIL (45 matches) -bisect: run test +00... ok (23 matches) -bisect: run test +10... FAIL (22 matches) -bisect: run test +010... FAIL (11 matches) -bisect: run test +0010... FAIL (6 matches) -bisect: run test +00010... FAIL (3 matches) -bisect: run test +000010... FAIL (2 matches) -bisect: run test +0000010... FAIL (1 matches) +bisect: searching for minimal set of enabled changes causing failure +bisect: run: test +0... FAIL (45 matches) +bisect: run: test +00... ok (23 matches) +bisect: run: test +10... FAIL (22 matches) +bisect: run: test +010... FAIL (11 matches) +bisect: run: test +0010... FAIL (6 matches) +bisect: run: test +00010... FAIL (3 matches) +bisect: run: test +000010... FAIL (2 matches) +bisect: run: test +0000010... FAIL (1 matches) bisect: confirming failing change set -bisect: run test v+0000010... FAIL (1 matches) +bisect: run: test v+0000010... FAIL (1 matches) bisect: FOUND failing change set bisect: checking for more failures -bisect: run test -0000010... FAIL (89 matches) +bisect: run: test -0000010... FAIL (89 matches) bisect: target still fails; searching for more bad changes -bisect: run test +0-0000010... ok (44 matches) -bisect: run test +1-0000010... FAIL (45 matches) -bisect: run test +01-0000010... ok (23 matches) -bisect: run test +11-0000010... ok (22 matches) -bisect: run test +01+11-0000010... FAIL (23 matches) -bisect: run test +001+11-0000010... ok (12 matches) -bisect: run test +101+11-0000010... FAIL (11 matches) -bisect: run test +0101+11-0000010... ok (6 matches) -bisect: run test +1101+11-0000010... ok (5 matches) -bisect: run test +0101+11+1101-0000010... FAIL (6 matches) -bisect: run test +00101+11+1101-0000010... FAIL (3 matches) -bisect: run test +000101+11+1101-0000010... FAIL (2 matches) -bisect: run test +0000101+11+1101-0000010... ok (1 matches) -bisect: run test +1000101+11+1101-0000010... FAIL (1 matches) -bisect: run test +1101+11+1000101-0000010... FAIL (5 matches) -bisect: run test +01101+11+1000101-0000010... FAIL (3 matches) -bisect: run test +001101+11+1000101-0000010... FAIL (2 matches) -bisect: run test +0001101+11+1000101-0000010... FAIL (1 matches) -bisect: run test +11+1000101+0001101-0000010... FAIL (22 matches) -bisect: run test +011+1000101+0001101-0000010... ok (11 matches) -bisect: run test +111+1000101+0001101-0000010... FAIL (11 matches) -bisect: run test +0111+1000101+0001101-0000010... FAIL (6 matches) -bisect: run test +00111+1000101+0001101-0000010... FAIL (3 matches) -bisect: run test +000111+1000101+0001101-0000010... ok (2 matches) -bisect: run test +100111+1000101+0001101-0000010... FAIL (1 matches) +bisect: run: test +0-0000010... ok (44 matches) +bisect: run: test +1-0000010... FAIL (45 matches) +bisect: run: test +01-0000010... ok (23 matches) +bisect: run: test +11-0000010... ok (22 matches) +bisect: run: test +01+11-0000010... FAIL (23 matches) +bisect: run: test +001+11-0000010... ok (12 matches) +bisect: run: test +101+11-0000010... FAIL (11 matches) +bisect: run: test +0101+11-0000010... ok (6 matches) +bisect: run: test +1101+11-0000010... ok (5 matches) +bisect: run: test +0101+11+1101-0000010... FAIL (6 matches) +bisect: run: test +00101+11+1101-0000010... FAIL (3 matches) +bisect: run: test +000101+11+1101-0000010... FAIL (2 matches) +bisect: run: test +0000101+11+1101-0000010... ok (1 matches) +bisect: run: test +1000101+11+1101-0000010... FAIL (1 matches) +bisect: run: test +1101+11+1000101-0000010... FAIL (5 matches) +bisect: run: test +01101+11+1000101-0000010... FAIL (3 matches) +bisect: run: test +001101+11+1000101-0000010... FAIL (2 matches) +bisect: run: test +0001101+11+1000101-0000010... FAIL (1 matches) +bisect: run: test +11+1000101+0001101-0000010... FAIL (22 matches) +bisect: run: test +011+1000101+0001101-0000010... ok (11 matches) +bisect: run: test +111+1000101+0001101-0000010... FAIL (11 matches) +bisect: run: test +0111+1000101+0001101-0000010... FAIL (6 matches) +bisect: run: test +00111+1000101+0001101-0000010... FAIL (3 matches) +bisect: run: test +000111+1000101+0001101-0000010... ok (2 matches) +bisect: run: test +100111+1000101+0001101-0000010... FAIL (1 matches) bisect: confirming failing change set -bisect: run test v+1000101+0001101+100111-0000010... FAIL (3 matches) +bisect: run: test v+1000101+0001101+100111-0000010... FAIL (3 matches) bisect: FOUND failing change set bisect: checking for more failures -bisect: run test -1000101-0001101-100111-0000010... FAIL (86 matches) +bisect: run: test -1000101-0001101-100111-0000010... FAIL (86 matches) bisect: target still fails; searching for more bad changes -bisect: run test +0-1000101-0001101-100111-0000010... ok (44 matches) -bisect: run test +1-1000101-0001101-100111-0000010... ok (42 matches) -bisect: run test +0+1-1000101-0001101-100111-0000010... FAIL (44 matches) -bisect: run test +00+1-1000101-0001101-100111-0000010... FAIL (23 matches) -bisect: run test +000+1-1000101-0001101-100111-0000010... ok (12 matches) -bisect: run test +100+1-1000101-0001101-100111-0000010... ok (11 matches) -bisect: run test +000+1+100-1000101-0001101-100111-0000010... FAIL (12 matches) -bisect: run test +0000+1+100-1000101-0001101-100111-0000010... FAIL (6 matches) -bisect: run test +00000+1+100-1000101-0001101-100111-0000010... FAIL (3 matches) -bisect: run test +000000+1+100-1000101-0001101-100111-0000010... ok (2 matches) -bisect: run test +100000+1+100-1000101-0001101-100111-0000010... FAIL (1 matches) -bisect: run test +100+1+100000-1000101-0001101-100111-0000010... FAIL (11 matches) -bisect: run test +0100+1+100000-1000101-0001101-100111-0000010... ok (6 matches) -bisect: run test +1100+1+100000-1000101-0001101-100111-0000010... FAIL (5 matches) -bisect: run test +01100+1+100000-1000101-0001101-100111-0000010... FAIL (3 matches) -bisect: run test +001100+1+100000-1000101-0001101-100111-0000010... FAIL (2 matches) -bisect: run test +0001100+1+100000-1000101-0001101-100111-0000010... FAIL (1 matches) -bisect: run test +1+100000+0001100-1000101-0001101-100111-0000010... FAIL (42 matches) -bisect: run test +01+100000+0001100-1000101-0001101-100111-0000010... FAIL (21 matches) -bisect: run test +001+100000+0001100-1000101-0001101-100111-0000010... FAIL (12 matches) -bisect: run test +0001+100000+0001100-1000101-0001101-100111-0000010... ok (6 matches) -bisect: run test +1001+100000+0001100-1000101-0001101-100111-0000010... ok (6 matches) +bisect: run: test +0-1000101-0001101-100111-0000010... ok (44 matches) +bisect: run: test +1-1000101-0001101-100111-0000010... ok (42 matches) +bisect: run: test +0+1-1000101-0001101-100111-0000010... FAIL (44 matches) +bisect: run: test +00+1-1000101-0001101-100111-0000010... FAIL (23 matches) +bisect: run: test +000+1-1000101-0001101-100111-0000010... ok (12 matches) +bisect: run: test +100+1-1000101-0001101-100111-0000010... ok (11 matches) +bisect: run: test +000+1+100-1000101-0001101-100111-0000010... FAIL (12 matches) +bisect: run: test +0000+1+100-1000101-0001101-100111-0000010... FAIL (6 matches) +bisect: run: test +00000+1+100-1000101-0001101-100111-0000010... FAIL (3 matches) +bisect: run: test +000000+1+100-1000101-0001101-100111-0000010... ok (2 matches) +bisect: run: test +100000+1+100-1000101-0001101-100111-0000010... FAIL (1 matches) +bisect: run: test +100+1+100000-1000101-0001101-100111-0000010... FAIL (11 matches) +bisect: run: test +0100+1+100000-1000101-0001101-100111-0000010... ok (6 matches) +bisect: run: test +1100+1+100000-1000101-0001101-100111-0000010... FAIL (5 matches) +bisect: run: test +01100+1+100000-1000101-0001101-100111-0000010... FAIL (3 matches) +bisect: run: test +001100+1+100000-1000101-0001101-100111-0000010... FAIL (2 matches) +bisect: run: test +0001100+1+100000-1000101-0001101-100111-0000010... FAIL (1 matches) +bisect: run: test +1+100000+0001100-1000101-0001101-100111-0000010... FAIL (42 matches) +bisect: run: test +01+100000+0001100-1000101-0001101-100111-0000010... FAIL (21 matches) +bisect: run: test +001+100000+0001100-1000101-0001101-100111-0000010... FAIL (12 matches) +bisect: run: test +0001+100000+0001100-1000101-0001101-100111-0000010... ok (6 matches) +bisect: run: test +1001+100000+0001100-1000101-0001101-100111-0000010... ok (6 matches) diff --git a/cmd/bisect/testdata/maxset1.txt b/cmd/bisect/testdata/maxset1.txt index 96bf5782191..250d4a6fade 100644 --- a/cmd/bisect/testdata/maxset1.txt +++ b/cmd/bisect/testdata/maxset1.txt @@ -2,12 +2,12 @@ -- stdout -- -- stderr -- bisect: checking target with all changes disabled -bisect: run test n... ok (90 matches) +bisect: run: test n... ok (90 matches) bisect: checking target with all changes enabled -bisect: run test y... FAIL (90 matches) +bisect: run: test y... FAIL (90 matches) bisect: target succeeds with no changes, fails with all changes -bisect: searching for minimal set of changes to enable to cause failure -bisect: run test +0... ok (45 matches) -bisect: run test +1... ok (45 matches) +bisect: searching for minimal set of enabled changes causing failure +bisect: run: test +0... ok (45 matches) +bisect: run: test +1... ok (45 matches) bisect: fatal error: cannot find any failing change sets of size ≤ 1 diff --git a/cmd/bisect/testdata/maxset4.txt b/cmd/bisect/testdata/maxset4.txt index e0dbc587504..ac02a677ae2 100644 --- a/cmd/bisect/testdata/maxset4.txt +++ b/cmd/bisect/testdata/maxset4.txt @@ -20,119 +20,119 @@ peach --- -- stderr -- bisect: checking target with all changes disabled -bisect: run test n... ok (90 matches) +bisect: run: test n... ok (90 matches) bisect: checking target with all changes enabled -bisect: run test y... FAIL (90 matches) +bisect: run: test y... FAIL (90 matches) bisect: target succeeds with no changes, fails with all changes -bisect: searching for minimal set of changes to enable to cause failure -bisect: run test +0... FAIL (45 matches) -bisect: run test +00... ok (23 matches) -bisect: run test +10... FAIL (22 matches) -bisect: run test +010... FAIL (11 matches) -bisect: run test +0010... FAIL (6 matches) -bisect: run test +00010... FAIL (3 matches) -bisect: run test +000010... FAIL (2 matches) -bisect: run test +0000010... FAIL (1 matches) +bisect: searching for minimal set of enabled changes causing failure +bisect: run: test +0... FAIL (45 matches) +bisect: run: test +00... ok (23 matches) +bisect: run: test +10... FAIL (22 matches) +bisect: run: test +010... FAIL (11 matches) +bisect: run: test +0010... FAIL (6 matches) +bisect: run: test +00010... FAIL (3 matches) +bisect: run: test +000010... FAIL (2 matches) +bisect: run: test +0000010... FAIL (1 matches) bisect: confirming failing change set -bisect: run test v+0000010... FAIL (1 matches) +bisect: run: test v+0000010... FAIL (1 matches) bisect: FOUND failing change set bisect: checking for more failures -bisect: run test -0000010... FAIL (89 matches) +bisect: run: test -0000010... FAIL (89 matches) bisect: target still fails; searching for more bad changes -bisect: run test +0-0000010... ok (44 matches) -bisect: run test +1-0000010... FAIL (45 matches) -bisect: run test +01-0000010... ok (23 matches) -bisect: run test +11-0000010... ok (22 matches) -bisect: run test +01+11-0000010... FAIL (23 matches) -bisect: run test +001+11-0000010... ok (12 matches) -bisect: run test +101+11-0000010... FAIL (11 matches) -bisect: run test +0101+11-0000010... ok (6 matches) -bisect: run test +1101+11-0000010... ok (5 matches) -bisect: run test +0101+11+1101-0000010... FAIL (6 matches) -bisect: run test +00101+11+1101-0000010... FAIL (3 matches) -bisect: run test +000101+11+1101-0000010... FAIL (2 matches) -bisect: run test +0000101+11+1101-0000010... ok (1 matches) -bisect: run test +1000101+11+1101-0000010... FAIL (1 matches) -bisect: run test +1101+11+1000101-0000010... FAIL (5 matches) -bisect: run test +01101+11+1000101-0000010... FAIL (3 matches) -bisect: run test +001101+11+1000101-0000010... FAIL (2 matches) -bisect: run test +0001101+11+1000101-0000010... FAIL (1 matches) -bisect: run test +11+1000101+0001101-0000010... FAIL (22 matches) -bisect: run test +011+1000101+0001101-0000010... ok (11 matches) -bisect: run test +111+1000101+0001101-0000010... FAIL (11 matches) -bisect: run test +0111+1000101+0001101-0000010... FAIL (6 matches) -bisect: run test +00111+1000101+0001101-0000010... FAIL (3 matches) -bisect: run test +000111+1000101+0001101-0000010... ok (2 matches) -bisect: run test +100111+1000101+0001101-0000010... FAIL (1 matches) +bisect: run: test +0-0000010... ok (44 matches) +bisect: run: test +1-0000010... FAIL (45 matches) +bisect: run: test +01-0000010... ok (23 matches) +bisect: run: test +11-0000010... ok (22 matches) +bisect: run: test +01+11-0000010... FAIL (23 matches) +bisect: run: test +001+11-0000010... ok (12 matches) +bisect: run: test +101+11-0000010... FAIL (11 matches) +bisect: run: test +0101+11-0000010... ok (6 matches) +bisect: run: test +1101+11-0000010... ok (5 matches) +bisect: run: test +0101+11+1101-0000010... FAIL (6 matches) +bisect: run: test +00101+11+1101-0000010... FAIL (3 matches) +bisect: run: test +000101+11+1101-0000010... FAIL (2 matches) +bisect: run: test +0000101+11+1101-0000010... ok (1 matches) +bisect: run: test +1000101+11+1101-0000010... FAIL (1 matches) +bisect: run: test +1101+11+1000101-0000010... FAIL (5 matches) +bisect: run: test +01101+11+1000101-0000010... FAIL (3 matches) +bisect: run: test +001101+11+1000101-0000010... FAIL (2 matches) +bisect: run: test +0001101+11+1000101-0000010... FAIL (1 matches) +bisect: run: test +11+1000101+0001101-0000010... FAIL (22 matches) +bisect: run: test +011+1000101+0001101-0000010... ok (11 matches) +bisect: run: test +111+1000101+0001101-0000010... FAIL (11 matches) +bisect: run: test +0111+1000101+0001101-0000010... FAIL (6 matches) +bisect: run: test +00111+1000101+0001101-0000010... FAIL (3 matches) +bisect: run: test +000111+1000101+0001101-0000010... ok (2 matches) +bisect: run: test +100111+1000101+0001101-0000010... FAIL (1 matches) bisect: confirming failing change set -bisect: run test v+1000101+0001101+100111-0000010... FAIL (3 matches) +bisect: run: test v+1000101+0001101+100111-0000010... FAIL (3 matches) bisect: FOUND failing change set bisect: checking for more failures -bisect: run test -1000101-0001101-100111-0000010... FAIL (86 matches) +bisect: run: test -1000101-0001101-100111-0000010... FAIL (86 matches) bisect: target still fails; searching for more bad changes -bisect: run test +0-1000101-0001101-100111-0000010... ok (44 matches) -bisect: run test +1-1000101-0001101-100111-0000010... ok (42 matches) -bisect: run test +0+1-1000101-0001101-100111-0000010... FAIL (44 matches) -bisect: run test +00+1-1000101-0001101-100111-0000010... FAIL (23 matches) -bisect: run test +000+1-1000101-0001101-100111-0000010... ok (12 matches) -bisect: run test +100+1-1000101-0001101-100111-0000010... ok (11 matches) -bisect: run test +000+1+100-1000101-0001101-100111-0000010... FAIL (12 matches) -bisect: run test +0000+1+100-1000101-0001101-100111-0000010... FAIL (6 matches) -bisect: run test +00000+1+100-1000101-0001101-100111-0000010... FAIL (3 matches) -bisect: run test +000000+1+100-1000101-0001101-100111-0000010... ok (2 matches) -bisect: run test +100000+1+100-1000101-0001101-100111-0000010... FAIL (1 matches) -bisect: run test +100+1+100000-1000101-0001101-100111-0000010... FAIL (11 matches) -bisect: run test +0100+1+100000-1000101-0001101-100111-0000010... ok (6 matches) -bisect: run test +1100+1+100000-1000101-0001101-100111-0000010... FAIL (5 matches) -bisect: run test +01100+1+100000-1000101-0001101-100111-0000010... FAIL (3 matches) -bisect: run test +001100+1+100000-1000101-0001101-100111-0000010... FAIL (2 matches) -bisect: run test +0001100+1+100000-1000101-0001101-100111-0000010... FAIL (1 matches) -bisect: run test +1+100000+0001100-1000101-0001101-100111-0000010... FAIL (42 matches) -bisect: run test +01+100000+0001100-1000101-0001101-100111-0000010... FAIL (21 matches) -bisect: run test +001+100000+0001100-1000101-0001101-100111-0000010... FAIL (12 matches) -bisect: run test +0001+100000+0001100-1000101-0001101-100111-0000010... ok (6 matches) -bisect: run test +1001+100000+0001100-1000101-0001101-100111-0000010... ok (6 matches) -bisect: run test +0001+100000+0001100+1001-1000101-0001101-100111-0000010... FAIL (6 matches) -bisect: run test +00001+100000+0001100+1001-1000101-0001101-100111-0000010... ok (3 matches) -bisect: run test +10001+100000+0001100+1001-1000101-0001101-100111-0000010... FAIL (3 matches) -bisect: run test +010001+100000+0001100+1001-1000101-0001101-100111-0000010... ok (2 matches) -bisect: run test +110001+100000+0001100+1001-1000101-0001101-100111-0000010... FAIL (1 matches) -bisect: run test +1001+100000+0001100+110001-1000101-0001101-100111-0000010... FAIL (6 matches) -bisect: run test +01001+100000+0001100+110001-1000101-0001101-100111-0000010... ok (3 matches) -bisect: run test +11001+100000+0001100+110001-1000101-0001101-100111-0000010... FAIL (3 matches) -bisect: run test +011001+100000+0001100+110001-1000101-0001101-100111-0000010... FAIL (2 matches) -bisect: run test +0011001+100000+0001100+110001-1000101-0001101-100111-0000010... ok (1 matches) -bisect: run test +1011001+100000+0001100+110001-1000101-0001101-100111-0000010... FAIL (1 matches) +bisect: run: test +0-1000101-0001101-100111-0000010... ok (44 matches) +bisect: run: test +1-1000101-0001101-100111-0000010... ok (42 matches) +bisect: run: test +0+1-1000101-0001101-100111-0000010... FAIL (44 matches) +bisect: run: test +00+1-1000101-0001101-100111-0000010... FAIL (23 matches) +bisect: run: test +000+1-1000101-0001101-100111-0000010... ok (12 matches) +bisect: run: test +100+1-1000101-0001101-100111-0000010... ok (11 matches) +bisect: run: test +000+1+100-1000101-0001101-100111-0000010... FAIL (12 matches) +bisect: run: test +0000+1+100-1000101-0001101-100111-0000010... FAIL (6 matches) +bisect: run: test +00000+1+100-1000101-0001101-100111-0000010... FAIL (3 matches) +bisect: run: test +000000+1+100-1000101-0001101-100111-0000010... ok (2 matches) +bisect: run: test +100000+1+100-1000101-0001101-100111-0000010... FAIL (1 matches) +bisect: run: test +100+1+100000-1000101-0001101-100111-0000010... FAIL (11 matches) +bisect: run: test +0100+1+100000-1000101-0001101-100111-0000010... ok (6 matches) +bisect: run: test +1100+1+100000-1000101-0001101-100111-0000010... FAIL (5 matches) +bisect: run: test +01100+1+100000-1000101-0001101-100111-0000010... FAIL (3 matches) +bisect: run: test +001100+1+100000-1000101-0001101-100111-0000010... FAIL (2 matches) +bisect: run: test +0001100+1+100000-1000101-0001101-100111-0000010... FAIL (1 matches) +bisect: run: test +1+100000+0001100-1000101-0001101-100111-0000010... FAIL (42 matches) +bisect: run: test +01+100000+0001100-1000101-0001101-100111-0000010... FAIL (21 matches) +bisect: run: test +001+100000+0001100-1000101-0001101-100111-0000010... FAIL (12 matches) +bisect: run: test +0001+100000+0001100-1000101-0001101-100111-0000010... ok (6 matches) +bisect: run: test +1001+100000+0001100-1000101-0001101-100111-0000010... ok (6 matches) +bisect: run: test +0001+100000+0001100+1001-1000101-0001101-100111-0000010... FAIL (6 matches) +bisect: run: test +00001+100000+0001100+1001-1000101-0001101-100111-0000010... ok (3 matches) +bisect: run: test +10001+100000+0001100+1001-1000101-0001101-100111-0000010... FAIL (3 matches) +bisect: run: test +010001+100000+0001100+1001-1000101-0001101-100111-0000010... ok (2 matches) +bisect: run: test +110001+100000+0001100+1001-1000101-0001101-100111-0000010... FAIL (1 matches) +bisect: run: test +1001+100000+0001100+110001-1000101-0001101-100111-0000010... FAIL (6 matches) +bisect: run: test +01001+100000+0001100+110001-1000101-0001101-100111-0000010... ok (3 matches) +bisect: run: test +11001+100000+0001100+110001-1000101-0001101-100111-0000010... FAIL (3 matches) +bisect: run: test +011001+100000+0001100+110001-1000101-0001101-100111-0000010... FAIL (2 matches) +bisect: run: test +0011001+100000+0001100+110001-1000101-0001101-100111-0000010... ok (1 matches) +bisect: run: test +1011001+100000+0001100+110001-1000101-0001101-100111-0000010... FAIL (1 matches) bisect: confirming failing change set -bisect: run test v+100000+0001100+110001+1011001-1000101-0001101-100111-0000010... FAIL (4 matches) +bisect: run: test v+100000+0001100+110001+1011001-1000101-0001101-100111-0000010... FAIL (4 matches) bisect: FOUND failing change set bisect: checking for more failures -bisect: run test -100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (82 matches) +bisect: run: test -100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (82 matches) bisect: target still fails; searching for more bad changes -bisect: run test +0-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... ok (42 matches) -bisect: run test +1-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... ok (40 matches) -bisect: run test +0+1-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (42 matches) -bisect: run test +00+1-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... ok (21 matches) -bisect: run test +10+1-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (21 matches) -bisect: run test +010+1-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... ok (10 matches) -bisect: run test +110+1-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (11 matches) -bisect: run test +0110+1-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (6 matches) -bisect: run test +00110+1-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (3 matches) -bisect: run test +000110+1-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (2 matches) -bisect: run test +0000110+1-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (1 matches) -bisect: run test +1+0000110-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (40 matches) -bisect: run test +01+0000110-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... ok (19 matches) -bisect: run test +11+0000110-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (21 matches) -bisect: run test +011+0000110-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (11 matches) -bisect: run test +0011+0000110-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... ok (6 matches) -bisect: run test +1011+0000110-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (5 matches) -bisect: run test +01011+0000110-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... ok (3 matches) -bisect: run test +11011+0000110-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (2 matches) -bisect: run test +011011+0000110-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... ok (1 matches) -bisect: run test +111011+0000110-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (1 matches) +bisect: run: test +0-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... ok (42 matches) +bisect: run: test +1-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... ok (40 matches) +bisect: run: test +0+1-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (42 matches) +bisect: run: test +00+1-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... ok (21 matches) +bisect: run: test +10+1-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (21 matches) +bisect: run: test +010+1-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... ok (10 matches) +bisect: run: test +110+1-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (11 matches) +bisect: run: test +0110+1-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (6 matches) +bisect: run: test +00110+1-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (3 matches) +bisect: run: test +000110+1-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (2 matches) +bisect: run: test +0000110+1-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (1 matches) +bisect: run: test +1+0000110-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (40 matches) +bisect: run: test +01+0000110-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... ok (19 matches) +bisect: run: test +11+0000110-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (21 matches) +bisect: run: test +011+0000110-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (11 matches) +bisect: run: test +0011+0000110-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... ok (6 matches) +bisect: run: test +1011+0000110-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (5 matches) +bisect: run: test +01011+0000110-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... ok (3 matches) +bisect: run: test +11011+0000110-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (2 matches) +bisect: run: test +011011+0000110-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... ok (1 matches) +bisect: run: test +111011+0000110-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (1 matches) bisect: confirming failing change set -bisect: run test v+0000110+111011-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (2 matches) +bisect: run: test v+0000110+111011-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... FAIL (2 matches) bisect: FOUND failing change set bisect: checking for more failures -bisect: run test -0000110-111011-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... ok (80 matches) +bisect: run: test -0000110-111011-100000-0001100-110001-1011001-1000101-0001101-100111-0000010... ok (80 matches) bisect: target succeeds with all remaining changes enabled diff --git a/cmd/bisect/testdata/negate.txt b/cmd/bisect/testdata/negate.txt index b45dfbde585..53f617cc0c7 100644 --- a/cmd/bisect/testdata/negate.txt +++ b/cmd/bisect/testdata/negate.txt @@ -9,49 +9,49 @@ peach --- -- stderr -- bisect: checking target with all changes disabled -bisect: run test n... FAIL (90 matches) +bisect: run: test n... FAIL (90 matches) bisect: checking target with all changes enabled -bisect: run test y... ok (90 matches) +bisect: run: test y... ok (90 matches) bisect: target fails with no changes, succeeds with all changes -bisect: searching for minimal set of changes to disable to cause failure -bisect: run test !+0... FAIL (45 matches) -bisect: run test !+00... ok (23 matches) -bisect: run test !+10... FAIL (22 matches) -bisect: run test !+010... FAIL (11 matches) -bisect: run test !+0010... FAIL (6 matches) -bisect: run test !+00010... FAIL (3 matches) -bisect: run test !+000010... FAIL (2 matches) -bisect: run test !+0000010... FAIL (1 matches) +bisect: searching for minimal set of disabled changes causing failure +bisect: run: test !+0... FAIL (45 matches) +bisect: run: test !+00... ok (23 matches) +bisect: run: test !+10... FAIL (22 matches) +bisect: run: test !+010... FAIL (11 matches) +bisect: run: test !+0010... FAIL (6 matches) +bisect: run: test !+00010... FAIL (3 matches) +bisect: run: test !+000010... FAIL (2 matches) +bisect: run: test !+0000010... FAIL (1 matches) bisect: confirming failing change set -bisect: run test v!+0000010... FAIL (1 matches) +bisect: run: test v!+0000010... FAIL (1 matches) bisect: FOUND failing change set bisect: checking for more failures -bisect: run test !-0000010... FAIL (89 matches) +bisect: run: test !-0000010... FAIL (89 matches) bisect: target still fails; searching for more bad changes -bisect: run test !+0-0000010... ok (44 matches) -bisect: run test !+1-0000010... ok (45 matches) -bisect: run test !+0+1-0000010... FAIL (44 matches) -bisect: run test !+00+1-0000010... ok (23 matches) -bisect: run test !+10+1-0000010... FAIL (21 matches) -bisect: run test !+010+1-0000010... ok (10 matches) -bisect: run test !+110+1-0000010... FAIL (11 matches) -bisect: run test !+0110+1-0000010... FAIL (6 matches) -bisect: run test !+00110+1-0000010... FAIL (3 matches) -bisect: run test !+000110+1-0000010... FAIL (2 matches) -bisect: run test !+0000110+1-0000010... FAIL (1 matches) -bisect: run test !+1+0000110-0000010... FAIL (45 matches) -bisect: run test !+01+0000110-0000010... ok (23 matches) -bisect: run test !+11+0000110-0000010... FAIL (22 matches) -bisect: run test !+011+0000110-0000010... FAIL (11 matches) -bisect: run test !+0011+0000110-0000010... ok (6 matches) -bisect: run test !+1011+0000110-0000010... FAIL (5 matches) -bisect: run test !+01011+0000110-0000010... ok (3 matches) -bisect: run test !+11011+0000110-0000010... FAIL (2 matches) -bisect: run test !+011011+0000110-0000010... ok (1 matches) -bisect: run test !+111011+0000110-0000010... FAIL (1 matches) +bisect: run: test !+0-0000010... ok (44 matches) +bisect: run: test !+1-0000010... ok (45 matches) +bisect: run: test !+0+1-0000010... FAIL (44 matches) +bisect: run: test !+00+1-0000010... ok (23 matches) +bisect: run: test !+10+1-0000010... FAIL (21 matches) +bisect: run: test !+010+1-0000010... ok (10 matches) +bisect: run: test !+110+1-0000010... FAIL (11 matches) +bisect: run: test !+0110+1-0000010... FAIL (6 matches) +bisect: run: test !+00110+1-0000010... FAIL (3 matches) +bisect: run: test !+000110+1-0000010... FAIL (2 matches) +bisect: run: test !+0000110+1-0000010... FAIL (1 matches) +bisect: run: test !+1+0000110-0000010... FAIL (45 matches) +bisect: run: test !+01+0000110-0000010... ok (23 matches) +bisect: run: test !+11+0000110-0000010... FAIL (22 matches) +bisect: run: test !+011+0000110-0000010... FAIL (11 matches) +bisect: run: test !+0011+0000110-0000010... ok (6 matches) +bisect: run: test !+1011+0000110-0000010... FAIL (5 matches) +bisect: run: test !+01011+0000110-0000010... ok (3 matches) +bisect: run: test !+11011+0000110-0000010... FAIL (2 matches) +bisect: run: test !+011011+0000110-0000010... ok (1 matches) +bisect: run: test !+111011+0000110-0000010... FAIL (1 matches) bisect: confirming failing change set -bisect: run test v!+0000110+111011-0000010... FAIL (2 matches) +bisect: run: test v!+0000110+111011-0000010... FAIL (2 matches) bisect: FOUND failing change set bisect: checking for more failures -bisect: run test !-0000110-111011-0000010... ok (87 matches) +bisect: run: test !-0000110-111011-0000010... ok (87 matches) bisect: target succeeds with all remaining changes disabled diff --git a/cmd/bisect/testdata/rand.txt b/cmd/bisect/testdata/rand.txt index cec39a1d315..7e0e3320aa6 100644 --- a/cmd/bisect/testdata/rand.txt +++ b/cmd/bisect/testdata/rand.txt @@ -8,52 +8,52 @@ apricot --- -- stderr -- bisect: checking target with all changes disabled -bisect: run test n... ok (90 matches) +bisect: run: test n... ok (90 matches) bisect: checking target with all changes enabled -bisect: run test y... FAIL (90 matches) +bisect: run: test y... FAIL (90 matches) bisect: target succeeds with no changes, fails with all changes -bisect: searching for minimal set of changes to enable to cause failure -bisect: run test +0... FAIL (45 matches) -bisect: run test +00... ok (23 matches) -bisect: run test +10... FAIL (22 matches) -bisect: run test +010... FAIL (11 matches) -bisect: run test +0010... FAIL (6 matches) -bisect: run test +00010... FAIL (3 matches) -bisect: run test +000010... FAIL (2 matches) -bisect: run test +0000010... FAIL (1 matches) +bisect: searching for minimal set of enabled changes causing failure +bisect: run: test +0... FAIL (45 matches) +bisect: run: test +00... ok (23 matches) +bisect: run: test +10... FAIL (22 matches) +bisect: run: test +010... FAIL (11 matches) +bisect: run: test +0010... FAIL (6 matches) +bisect: run: test +00010... FAIL (3 matches) +bisect: run: test +000010... FAIL (2 matches) +bisect: run: test +0000010... FAIL (1 matches) bisect: confirming failing change set -bisect: run test v+0000010... FAIL (1 matches) +bisect: run: test v+0000010... FAIL (1 matches) bisect: FOUND failing change set bisect: checking for more failures -bisect: run test -0000010... FAIL (89 matches) +bisect: run: test -0000010... FAIL (89 matches) bisect: target still fails; searching for more bad changes -bisect: run test +0-0000010... FAIL (44 matches) -bisect: run test +00-0000010... ok (23 matches) -bisect: run test +10-0000010... FAIL (21 matches) -bisect: run test +010-0000010... ok (10 matches) -bisect: run test +110-0000010... FAIL (11 matches) -bisect: run test +0110-0000010... FAIL (6 matches) -bisect: run test +00110-0000010... FAIL (3 matches) -bisect: run test +000110-0000010... FAIL (2 matches) -bisect: run test +0000110-0000010... FAIL (1 matches) +bisect: run: test +0-0000010... FAIL (44 matches) +bisect: run: test +00-0000010... ok (23 matches) +bisect: run: test +10-0000010... FAIL (21 matches) +bisect: run: test +010-0000010... ok (10 matches) +bisect: run: test +110-0000010... FAIL (11 matches) +bisect: run: test +0110-0000010... FAIL (6 matches) +bisect: run: test +00110-0000010... FAIL (3 matches) +bisect: run: test +000110-0000010... FAIL (2 matches) +bisect: run: test +0000110-0000010... FAIL (1 matches) bisect: confirming failing change set -bisect: run test v+0000110-0000010... FAIL (1 matches) +bisect: run: test v+0000110-0000010... FAIL (1 matches) bisect: FOUND failing change set bisect: checking for more failures -bisect: run test -0000110-0000010... FAIL (88 matches) +bisect: run: test -0000110-0000010... FAIL (88 matches) bisect: target still fails; searching for more bad changes -bisect: run test +0-0000110-0000010... ok (43 matches) -bisect: run test +1-0000110-0000010... FAIL (45 matches) -bisect: run test +01-0000110-0000010... FAIL (23 matches) -bisect: run test +001-0000110-0000010... ok (12 matches) -bisect: run test +101-0000110-0000010... FAIL (11 matches) -bisect: run test +0101-0000110-0000010... ok (6 matches) -bisect: run test +1101-0000110-0000010... FAIL (5 matches) -bisect: run test +01101-0000110-0000010... ok (3 matches) -bisect: run test +11101-0000110-0000010... ok (2 matches) -bisect: run test +01101+11101-0000110-0000010... FAIL (3 matches) -bisect: run test +001101+11101-0000110-0000010... ok (2 matches) -bisect: run test +101101+11101-0000110-0000010... ok (1 matches) -bisect: run test +001101+11101+101101-0000110-0000010... ok (2 matches) +bisect: run: test +0-0000110-0000010... ok (43 matches) +bisect: run: test +1-0000110-0000010... FAIL (45 matches) +bisect: run: test +01-0000110-0000010... FAIL (23 matches) +bisect: run: test +001-0000110-0000010... ok (12 matches) +bisect: run: test +101-0000110-0000010... FAIL (11 matches) +bisect: run: test +0101-0000110-0000010... ok (6 matches) +bisect: run: test +1101-0000110-0000010... FAIL (5 matches) +bisect: run: test +01101-0000110-0000010... ok (3 matches) +bisect: run: test +11101-0000110-0000010... ok (2 matches) +bisect: run: test +01101+11101-0000110-0000010... FAIL (3 matches) +bisect: run: test +001101+11101-0000110-0000010... ok (2 matches) +bisect: run: test +101101+11101-0000110-0000010... ok (1 matches) +bisect: run: test +001101+11101+101101-0000110-0000010... ok (2 matches) bisect: fatal error: target fails inconsistently diff --git a/cmd/bisect/testdata/rand1.txt b/cmd/bisect/testdata/rand1.txt index 97c024a0717..219629318b4 100644 --- a/cmd/bisect/testdata/rand1.txt +++ b/cmd/bisect/testdata/rand1.txt @@ -2,23 +2,23 @@ -- stdout -- -- stderr -- bisect: checking target with all changes disabled -bisect: run test n... ok (90 matches) +bisect: run: test n... ok (90 matches) bisect: checking target with all changes enabled -bisect: run test y... FAIL (90 matches) +bisect: run: test y... FAIL (90 matches) bisect: target succeeds with no changes, fails with all changes -bisect: searching for minimal set of changes to enable to cause failure -bisect: run test +0... ok (45 matches) -bisect: run test +1... FAIL (45 matches) -bisect: run test +01... FAIL (23 matches) -bisect: run test +001... ok (12 matches) -bisect: run test +101... FAIL (11 matches) -bisect: run test +0101... ok (6 matches) -bisect: run test +1101... FAIL (5 matches) -bisect: run test +01101... ok (3 matches) -bisect: run test +11101... ok (2 matches) -bisect: run test +01101+11101... FAIL (3 matches) -bisect: run test +001101+11101... ok (2 matches) -bisect: run test +101101+11101... ok (1 matches) -bisect: run test +001101+11101+101101... ok (2 matches) +bisect: searching for minimal set of enabled changes causing failure +bisect: run: test +0... ok (45 matches) +bisect: run: test +1... FAIL (45 matches) +bisect: run: test +01... FAIL (23 matches) +bisect: run: test +001... ok (12 matches) +bisect: run: test +101... FAIL (11 matches) +bisect: run: test +0101... ok (6 matches) +bisect: run: test +1101... FAIL (5 matches) +bisect: run: test +01101... ok (3 matches) +bisect: run: test +11101... ok (2 matches) +bisect: run: test +01101+11101... FAIL (3 matches) +bisect: run: test +001101+11101... ok (2 matches) +bisect: run: test +101101+11101... ok (1 matches) +bisect: run: test +001101+11101+101101... ok (2 matches) bisect: fatal error: target fails inconsistently diff --git a/cmd/bisect/testdata/rand2.txt b/cmd/bisect/testdata/rand2.txt index 7ad24739b65..c952226b201 100644 --- a/cmd/bisect/testdata/rand2.txt +++ b/cmd/bisect/testdata/rand2.txt @@ -2,18 +2,18 @@ -- stdout -- -- stderr -- bisect: checking target with all changes disabled -bisect: run test n... ok (90 matches) -bisect: run test n... ok (90 matches) +bisect: run: test n... ok (90 matches) +bisect: run: test n... ok (90 matches) bisect: checking target with all changes enabled -bisect: run test y... FAIL (90 matches) -bisect: run test y... FAIL (90 matches) +bisect: run: test y... FAIL (90 matches) +bisect: run: test y... FAIL (90 matches) bisect: target succeeds with no changes, fails with all changes -bisect: searching for minimal set of changes to enable to cause failure -bisect: run test +0... ok (45 matches) -bisect: run test +0... ok (45 matches) -bisect: run test +1... FAIL (45 matches) -bisect: run test +1... FAIL (45 matches) -bisect: run test +01... FAIL (23 matches) -bisect: run test +01... ok (23 matches) +bisect: searching for minimal set of enabled changes causing failure +bisect: run: test +0... ok (45 matches) +bisect: run: test +0... ok (45 matches) +bisect: run: test +1... FAIL (45 matches) +bisect: run: test +1... FAIL (45 matches) +bisect: run: test +01... FAIL (23 matches) +bisect: run: test +01... ok (23 matches) bisect: fatal error: target fails inconsistently