cmd/gorelease: change report output format
This CL changes gorelease's output to be similar to 'go vet'.
* Messages for a specific packages are preceded by a heading like
'# example.com/pkg'.
* Messages about compatible and incompatible changes appear under
'## compatible changes' and '## incompatible changes' headings.
* Diagnostics are preceded by a '# diagnostics' heading.
* Other messages are printed at the bottom below '# summary'.
* Sections are separated by blank lines.
Tests were updated with 'go test -u'. No other test changes made.
Fixes golang/go#46372
Change-Id: I95062096c9470a05083cff8d728072b10dd04474
Reviewed-on: https://go-review.googlesource.com/c/exp/+/332375
Trust: Jay Conrod <jayconrod@google.com>
Trust: Jean de Klerk <deklerk@google.com>
Run-TryBot: Jay Conrod <jayconrod@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Jean de Klerk <deklerk@google.com>
diff --git a/cmd/gorelease/gorelease.go b/cmd/gorelease/gorelease.go
index 3e9bc76..825bf88 100644
--- a/cmd/gorelease/gorelease.go
+++ b/cmd/gorelease/gorelease.go
@@ -655,7 +655,7 @@
}()
type listVersions struct {
- Versions []string `json: "Versions"`
+ Versions []string
}
cmd := exec.CommandContext(ctx, "go", "list", "-json", "-m", "-versions", modPath)
cmd.Env = copyEnv(ctx, cmd.Env)
diff --git a/cmd/gorelease/report.go b/cmd/gorelease/report.go
index 5104f1e..fa5d581 100644
--- a/cmd/gorelease/report.go
+++ b/cmd/gorelease/report.go
@@ -61,6 +61,15 @@
buf.WriteString(p.String())
}
+ if len(r.release.diagnostics) > 0 {
+ buf.WriteString("# diagnostics\n")
+ for _, d := range r.release.diagnostics {
+ fmt.Fprintln(buf, d)
+ }
+ buf.WriteByte('\n')
+ }
+
+ buf.WriteString("# summary\n")
baseVersion := r.base.version
if r.base.modPath != r.release.modPath {
baseVersion = r.base.modPath + "@" + baseVersion
@@ -71,11 +80,7 @@
fmt.Fprintf(buf, "Base version: %s (%s)\n", baseVersion, r.base.versionQuery)
}
- if len(r.release.diagnostics) > 0 {
- for _, d := range r.release.diagnostics {
- fmt.Fprintln(buf, d)
- }
- } else if r.versionInvalid != nil {
+ if r.versionInvalid != nil {
fmt.Fprintln(buf, r.versionInvalid)
} else if r.release.versionInferred {
if r.release.tagPrefix == "" {
@@ -387,24 +392,41 @@
return ""
}
buf := &strings.Builder{}
- fmt.Fprintf(buf, "%s\n%s\n", p.path, strings.Repeat("-", len(p.path)))
+ fmt.Fprintf(buf, "# %s\n", p.path)
if len(p.baseErrors) > 0 {
- fmt.Fprintf(buf, "errors in base version:\n")
+ fmt.Fprintf(buf, "## errors in base version:\n")
for _, e := range p.baseErrors {
- fmt.Fprintf(buf, "\t%v\n", e)
+ fmt.Fprintln(buf, e)
}
buf.WriteByte('\n')
}
if len(p.releaseErrors) > 0 {
- fmt.Fprintf(buf, "errors in release version:\n")
+ fmt.Fprintf(buf, "## errors in release version:\n")
for _, e := range p.releaseErrors {
- fmt.Fprintf(buf, "\t%v\n", e)
+ fmt.Fprintln(buf, e)
}
buf.WriteByte('\n')
}
if len(p.Changes) > 0 {
- if err := p.Report.Text(buf); err != nil {
- panic(fmt.Sprintf("internal error printing apidiff report: %v", err))
+ var compatible, incompatible []apidiff.Change
+ for _, c := range p.Changes {
+ if c.Compatible {
+ compatible = append(compatible, c)
+ } else {
+ incompatible = append(incompatible, c)
+ }
+ }
+ if len(incompatible) > 0 {
+ fmt.Fprintf(buf, "## incompatible changes\n")
+ for _, c := range incompatible {
+ fmt.Fprintln(buf, c.Message)
+ }
+ }
+ if len(compatible) > 0 {
+ fmt.Fprintf(buf, "## compatible changes\n")
+ for _, c := range compatible {
+ fmt.Fprintln(buf, c.Message)
+ }
}
buf.WriteByte('\n')
}
diff --git a/cmd/gorelease/testdata/alreadyexists/alreadyexists_suggest_major.test b/cmd/gorelease/testdata/alreadyexists/alreadyexists_suggest_major.test
index 63cb373..bea8be6 100644
--- a/cmd/gorelease/testdata/alreadyexists/alreadyexists_suggest_major.test
+++ b/cmd/gorelease/testdata/alreadyexists/alreadyexists_suggest_major.test
@@ -4,13 +4,13 @@
# A() was removed, which is a breaking change: it shouldn't try to suggest a
# higher version.
-- want --
-example.com/basic/a
--------------------
-Incompatible changes:
-- A: removed
-Compatible changes:
-- B: added
+# example.com/basic/a
+## incompatible changes
+A: removed
+## compatible changes
+B: added
+# summary
Cannot suggest a release version.
Incompatible changes were detected.
-- go.mod --
diff --git a/cmd/gorelease/testdata/alreadyexists/alreadyexists_suggest_minor.test b/cmd/gorelease/testdata/alreadyexists/alreadyexists_suggest_minor.test
index f9d8529..40eda64 100644
--- a/cmd/gorelease/testdata/alreadyexists/alreadyexists_suggest_minor.test
+++ b/cmd/gorelease/testdata/alreadyexists/alreadyexists_suggest_minor.test
@@ -5,11 +5,11 @@
# later version that already exists: so it should not try to suggest anything at
# all.
-- want --
-example.com/basic/a
--------------------
-Compatible changes:
-- B: added
+# example.com/basic/a
+## compatible changes
+B: added
+# summary
Cannot suggest a release version.
Can only suggest a release version when compared against the most recent version of this major: v0.1.2.
-- go.mod --
diff --git a/cmd/gorelease/testdata/alreadyexists/alreadyexists_suggest_patch.test b/cmd/gorelease/testdata/alreadyexists/alreadyexists_suggest_patch.test
index 81ed36c..209d9a9 100644
--- a/cmd/gorelease/testdata/alreadyexists/alreadyexists_suggest_patch.test
+++ b/cmd/gorelease/testdata/alreadyexists/alreadyexists_suggest_patch.test
@@ -5,6 +5,7 @@
# But, there's a later version that already exists: so it should not try to
# suggest anything at all.
-- want --
+# summary
Cannot suggest a release version.
Can only suggest a release version when compared against the most recent version of this major: v0.1.2.
-- go.mod --
diff --git a/cmd/gorelease/testdata/alreadyexists/alreadyexists_verify.test b/cmd/gorelease/testdata/alreadyexists/alreadyexists_verify.test
index 969606a..8ba7cfc 100644
--- a/cmd/gorelease/testdata/alreadyexists/alreadyexists_verify.test
+++ b/cmd/gorelease/testdata/alreadyexists/alreadyexists_verify.test
@@ -5,6 +5,7 @@
# The contents below are a copy of the v0.0.1 contents - nothing has changed.
# But v0.1.0 already exists, so it should present a diagnostic.
-- want --
+# summary
v0.1.0 is not a valid semantic version for this release.
version v0.1.0 already exists
-- go.mod --
diff --git a/cmd/gorelease/testdata/basic/v0_compatible_suggest.test b/cmd/gorelease/testdata/basic/v0_compatible_suggest.test
index 014fe08..6560f55 100644
--- a/cmd/gorelease/testdata/basic/v0_compatible_suggest.test
+++ b/cmd/gorelease/testdata/basic/v0_compatible_suggest.test
@@ -3,14 +3,13 @@
base=v0.0.1
proxyVersions=example.com/basic@v0.0.1
-- want --
-example.com/basic/a
--------------------
-Compatible changes:
-- A2: added
+# example.com/basic/a
+## compatible changes
+A2: added
-example.com/basic/b
--------------------
-Compatible changes:
-- package added
+# example.com/basic/b
+## compatible changes
+package added
+# summary
Suggested version: v0.1.0
diff --git a/cmd/gorelease/testdata/basic/v0_compatible_verify.test b/cmd/gorelease/testdata/basic/v0_compatible_verify.test
index 5461eea..b5c726d 100644
--- a/cmd/gorelease/testdata/basic/v0_compatible_verify.test
+++ b/cmd/gorelease/testdata/basic/v0_compatible_verify.test
@@ -4,14 +4,13 @@
release=v0.1.0
proxyVersions=example.com/basic@v0.0.1
-- want --
-example.com/basic/a
--------------------
-Compatible changes:
-- A2: added
+# example.com/basic/a
+## compatible changes
+A2: added
-example.com/basic/b
--------------------
-Compatible changes:
-- package added
+# example.com/basic/b
+## compatible changes
+package added
+# summary
v0.1.0 is a valid semantic version for this release.
diff --git a/cmd/gorelease/testdata/basic/v0_incompatible_suggest.test b/cmd/gorelease/testdata/basic/v0_incompatible_suggest.test
index 4aa8364..d07a48f 100644
--- a/cmd/gorelease/testdata/basic/v0_incompatible_suggest.test
+++ b/cmd/gorelease/testdata/basic/v0_incompatible_suggest.test
@@ -3,14 +3,13 @@
base=v0.1.1
proxyVersions=example.com/basic@v0.1.1
-- want --
-example.com/basic/a
--------------------
-Incompatible changes:
-- A2: removed
+# example.com/basic/a
+## incompatible changes
+A2: removed
-example.com/basic/b
--------------------
-Incompatible changes:
-- package removed
+# example.com/basic/b
+## incompatible changes
+package removed
+# summary
Suggested version: v0.2.0
diff --git a/cmd/gorelease/testdata/basic/v0_incompatible_verify.test b/cmd/gorelease/testdata/basic/v0_incompatible_verify.test
index c6742d3..b8355ea 100644
--- a/cmd/gorelease/testdata/basic/v0_incompatible_verify.test
+++ b/cmd/gorelease/testdata/basic/v0_incompatible_verify.test
@@ -4,14 +4,13 @@
release=v0.1.2
proxyVersions=example.com/basic@v0.1.1
-- want --
-example.com/basic/a
--------------------
-Incompatible changes:
-- A2: removed
+# example.com/basic/a
+## incompatible changes
+A2: removed
-example.com/basic/b
--------------------
-Incompatible changes:
-- package removed
+# example.com/basic/b
+## incompatible changes
+package removed
+# summary
v0.1.2 is a valid semantic version for this release.
diff --git a/cmd/gorelease/testdata/basic/v0_nobase_suggest.test b/cmd/gorelease/testdata/basic/v0_nobase_suggest.test
index 8f17473..b059fc0 100644
--- a/cmd/gorelease/testdata/basic/v0_nobase_suggest.test
+++ b/cmd/gorelease/testdata/basic/v0_nobase_suggest.test
@@ -2,4 +2,5 @@
version=v0.1.1
base=none
-- want --
+# summary
Suggested version: v0.1.0
diff --git a/cmd/gorelease/testdata/basic/v0_patch_suggest.test b/cmd/gorelease/testdata/basic/v0_patch_suggest.test
index a98e6b6..a5f957a 100644
--- a/cmd/gorelease/testdata/basic/v0_patch_suggest.test
+++ b/cmd/gorelease/testdata/basic/v0_patch_suggest.test
@@ -3,4 +3,5 @@
base=v0.1.0
proxyVersions=example.com/basic@v0.1.0
-- want --
+# summary
Suggested version: v0.1.1
diff --git a/cmd/gorelease/testdata/basic/v0_patch_verify.test b/cmd/gorelease/testdata/basic/v0_patch_verify.test
index b01e475..d26ff70 100644
--- a/cmd/gorelease/testdata/basic/v0_patch_verify.test
+++ b/cmd/gorelease/testdata/basic/v0_patch_verify.test
@@ -4,4 +4,5 @@
release=v0.1.1
proxyVersions=example.com/basic@v0.1.0
-- want --
+# summary
v0.1.1 is a valid semantic version for this release.
diff --git a/cmd/gorelease/testdata/basic/v0_pre_suggest.test b/cmd/gorelease/testdata/basic/v0_pre_suggest.test
index 169a325..ca45c40 100644
--- a/cmd/gorelease/testdata/basic/v0_pre_suggest.test
+++ b/cmd/gorelease/testdata/basic/v0_pre_suggest.test
@@ -3,14 +3,13 @@
base=v0.1.1-pre
proxyVersions=example.com/basic@v0.1.1-pre
-- want --
-example.com/basic/a
--------------------
-Incompatible changes:
-- A2: removed
+# example.com/basic/a
+## incompatible changes
+A2: removed
-example.com/basic/b
--------------------
-Incompatible changes:
-- package removed
+# example.com/basic/b
+## incompatible changes
+package removed
+# summary
Suggested version: v0.1.1
diff --git a/cmd/gorelease/testdata/basic/v0_v1_incompatible_verify.test b/cmd/gorelease/testdata/basic/v0_v1_incompatible_verify.test
index 1eb08c0..7a68306 100644
--- a/cmd/gorelease/testdata/basic/v0_v1_incompatible_verify.test
+++ b/cmd/gorelease/testdata/basic/v0_v1_incompatible_verify.test
@@ -3,14 +3,13 @@
base=v0.1.1
release=v1.0.0
-- want --
-example.com/basic/a
--------------------
-Incompatible changes:
-- A2: removed
+# example.com/basic/a
+## incompatible changes
+A2: removed
-example.com/basic/b
--------------------
-Incompatible changes:
-- package removed
+# example.com/basic/b
+## incompatible changes
+package removed
+# summary
v1.0.0 is a valid semantic version for this release.
diff --git a/cmd/gorelease/testdata/basic/v1_autobase_suggest.test b/cmd/gorelease/testdata/basic/v1_autobase_suggest.test
index aafc829..100cc4c 100644
--- a/cmd/gorelease/testdata/basic/v1_autobase_suggest.test
+++ b/cmd/gorelease/testdata/basic/v1_autobase_suggest.test
@@ -1,5 +1,6 @@
mod=example.com/basic
version=v0.1.2
-- want --
+# summary
Inferred base version: v1.1.2
Suggested version: v1.1.3
diff --git a/cmd/gorelease/testdata/basic/v1_autobase_verify.test b/cmd/gorelease/testdata/basic/v1_autobase_verify.test
index 58cab03..6df9c6e 100644
--- a/cmd/gorelease/testdata/basic/v1_autobase_verify.test
+++ b/cmd/gorelease/testdata/basic/v1_autobase_verify.test
@@ -2,5 +2,6 @@
version=v1.0.1
release=v1.0.2
-- want --
+# summary
Inferred base version: v1.0.1
v1.0.2 is a valid semantic version for this release.
diff --git a/cmd/gorelease/testdata/basic/v1_compatible_suggest.test b/cmd/gorelease/testdata/basic/v1_compatible_suggest.test
index 42b4ddd..fe63e75 100644
--- a/cmd/gorelease/testdata/basic/v1_compatible_suggest.test
+++ b/cmd/gorelease/testdata/basic/v1_compatible_suggest.test
@@ -3,14 +3,13 @@
base=v1.0.1
proxyVersions=example.com/basic@v1.0.1
-- want --
-example.com/basic/a
--------------------
-Compatible changes:
-- A2: added
+# example.com/basic/a
+## compatible changes
+A2: added
-example.com/basic/b
--------------------
-Compatible changes:
-- package added
+# example.com/basic/b
+## compatible changes
+package added
+# summary
Suggested version: v1.1.0
diff --git a/cmd/gorelease/testdata/basic/v1_compatible_verify.test b/cmd/gorelease/testdata/basic/v1_compatible_verify.test
index 45822ee..f552aef 100644
--- a/cmd/gorelease/testdata/basic/v1_compatible_verify.test
+++ b/cmd/gorelease/testdata/basic/v1_compatible_verify.test
@@ -4,14 +4,13 @@
release=v1.1.0
proxyVersions=example.com/basic@v1.0.1
-- want --
-example.com/basic/a
--------------------
-Compatible changes:
-- A2: added
+# example.com/basic/a
+## compatible changes
+A2: added
-example.com/basic/b
--------------------
-Compatible changes:
-- package added
+# example.com/basic/b
+## compatible changes
+package added
+# summary
v1.1.0 is a valid semantic version for this release.
diff --git a/cmd/gorelease/testdata/basic/v1_fork_base_modpath_version_verify.test b/cmd/gorelease/testdata/basic/v1_fork_base_modpath_version_verify.test
index 47e17ca..80ba542 100644
--- a/cmd/gorelease/testdata/basic/v1_fork_base_modpath_version_verify.test
+++ b/cmd/gorelease/testdata/basic/v1_fork_base_modpath_version_verify.test
@@ -4,9 +4,10 @@
release=v1.1.2
proxyVersions=example.com/basic@v1.1.1
-- want --
-example.com/basic/a
--------------------
-Incompatible changes:
-- A2: removed
-Compatible changes:
-- A3: added
+# example.com/basic/a
+## incompatible changes
+A2: removed
+## compatible changes
+A3: added
+
+# summary
diff --git a/cmd/gorelease/testdata/basic/v1_fork_base_verify.test b/cmd/gorelease/testdata/basic/v1_fork_base_verify.test
index 569b734..650fff4 100644
--- a/cmd/gorelease/testdata/basic/v1_fork_base_verify.test
+++ b/cmd/gorelease/testdata/basic/v1_fork_base_verify.test
@@ -6,12 +6,12 @@
base=example.com/basicfork@v1.1.2
release=v1.1.3
-- want --
-example.com/basicfork/a
------------------------
-Incompatible changes:
-- A3: removed
+# example.com/basicfork/a
+## incompatible changes
+A3: removed
-example.com/basicfork/b
------------------------
-Incompatible changes:
-- package removed
+# example.com/basicfork/b
+## incompatible changes
+package removed
+
+# summary
diff --git a/cmd/gorelease/testdata/basic/v1_incompatible_suggest.test b/cmd/gorelease/testdata/basic/v1_incompatible_suggest.test
index 49b5eaa..a955b10 100644
--- a/cmd/gorelease/testdata/basic/v1_incompatible_suggest.test
+++ b/cmd/gorelease/testdata/basic/v1_incompatible_suggest.test
@@ -3,15 +3,14 @@
base=v1.1.1
success=false
-- want --
-example.com/basic/a
--------------------
-Incompatible changes:
-- A2: removed
+# example.com/basic/a
+## incompatible changes
+A2: removed
-example.com/basic/b
--------------------
-Incompatible changes:
-- package removed
+# example.com/basic/b
+## incompatible changes
+package removed
+# summary
Cannot suggest a release version.
Incompatible changes were detected.
diff --git a/cmd/gorelease/testdata/basic/v1_incompatible_verify.test b/cmd/gorelease/testdata/basic/v1_incompatible_verify.test
index 149b849..655ed6a 100644
--- a/cmd/gorelease/testdata/basic/v1_incompatible_verify.test
+++ b/cmd/gorelease/testdata/basic/v1_incompatible_verify.test
@@ -5,15 +5,14 @@
release=v1.1.2
proxyVersions=example.com/basic@v1.1.1
-- want --
-example.com/basic/a
--------------------
-Incompatible changes:
-- A2: removed
+# example.com/basic/a
+## incompatible changes
+A2: removed
-example.com/basic/b
--------------------
-Incompatible changes:
-- package removed
+# example.com/basic/b
+## incompatible changes
+package removed
+# summary
v1.1.2 is not a valid semantic version for this release.
There are incompatible changes.
diff --git a/cmd/gorelease/testdata/basic/v1_patch_suggest.test b/cmd/gorelease/testdata/basic/v1_patch_suggest.test
index a72569d..936f26a 100644
--- a/cmd/gorelease/testdata/basic/v1_patch_suggest.test
+++ b/cmd/gorelease/testdata/basic/v1_patch_suggest.test
@@ -3,4 +3,5 @@
base=v1.1.0
proxyVersions=example.com/basic@v1.1.0
-- want --
+# summary
Suggested version: v1.1.1
diff --git a/cmd/gorelease/testdata/basic/v1_patch_verify.test b/cmd/gorelease/testdata/basic/v1_patch_verify.test
index a01d5be..f134744 100644
--- a/cmd/gorelease/testdata/basic/v1_patch_verify.test
+++ b/cmd/gorelease/testdata/basic/v1_patch_verify.test
@@ -4,4 +4,5 @@
release=v1.1.1
proxyVersions=example.com/basic@v1.1.0
-- want --
+# summary
v1.1.1 is a valid semantic version for this release.
diff --git a/cmd/gorelease/testdata/basic/v1_pre_suggest.test b/cmd/gorelease/testdata/basic/v1_pre_suggest.test
index efca8c4..c715603 100644
--- a/cmd/gorelease/testdata/basic/v1_pre_suggest.test
+++ b/cmd/gorelease/testdata/basic/v1_pre_suggest.test
@@ -3,14 +3,13 @@
base=v1.1.1-pre
proxyVersions=example.com/basic@v1.1.1-pre
-- want --
-example.com/basic/a
--------------------
-Incompatible changes:
-- A2: removed
+# example.com/basic/a
+## incompatible changes
+A2: removed
-example.com/basic/b
--------------------
-Incompatible changes:
-- package removed
+# example.com/basic/b
+## incompatible changes
+package removed
+# summary
Suggested version: v1.1.1
diff --git a/cmd/gorelease/testdata/basic/v1_querybase_suggest.test b/cmd/gorelease/testdata/basic/v1_querybase_suggest.test
index ec73b41..c1dfb9d 100644
--- a/cmd/gorelease/testdata/basic/v1_querybase_suggest.test
+++ b/cmd/gorelease/testdata/basic/v1_querybase_suggest.test
@@ -3,5 +3,6 @@
base=version-1.0.1
proxyVersions=example.com/basic@version-1.0.1,example.com/basic@v1.0.1
-- want --
+# summary
Base version: v1.0.1 (version-1.0.1)
Suggested version: v1.0.2
diff --git a/cmd/gorelease/testdata/basic/v1_querybase_verify.test b/cmd/gorelease/testdata/basic/v1_querybase_verify.test
index f4f6d10..9383c3f 100644
--- a/cmd/gorelease/testdata/basic/v1_querybase_verify.test
+++ b/cmd/gorelease/testdata/basic/v1_querybase_verify.test
@@ -3,5 +3,6 @@
base=version-1.0.1
release=v1.0.2
-- want --
+# summary
Base version: v1.0.1 (version-1.0.1)
v1.0.2 is a valid semantic version for this release.
diff --git a/cmd/gorelease/testdata/basic/v1_v2_base_modpath_query_verify.test b/cmd/gorelease/testdata/basic/v1_v2_base_modpath_query_verify.test
index d27a389..ce6b674 100644
--- a/cmd/gorelease/testdata/basic/v1_v2_base_modpath_query_verify.test
+++ b/cmd/gorelease/testdata/basic/v1_v2_base_modpath_query_verify.test
@@ -4,15 +4,14 @@
release=v2.0.1
proxyVersions=example.com/basic@v1.1.0
-- want --
-example.com/basic/a
--------------------
-Incompatible changes:
-- A2: removed
+# example.com/basic/a
+## incompatible changes
+A2: removed
-example.com/basic/b
--------------------
-Incompatible changes:
-- package removed
+# example.com/basic/b
+## incompatible changes
+package removed
+# summary
Base version: example.com/basic@v1.1.0 (>=v1.1.0)
v2.0.1 is a valid semantic version for this release.
diff --git a/cmd/gorelease/testdata/basic/v1_v2_base_modpath_suggest.test b/cmd/gorelease/testdata/basic/v1_v2_base_modpath_suggest.test
index 5f916a9..d70ecc9 100644
--- a/cmd/gorelease/testdata/basic/v1_v2_base_modpath_suggest.test
+++ b/cmd/gorelease/testdata/basic/v1_v2_base_modpath_suggest.test
@@ -3,16 +3,15 @@
version=v2.1.0
success=false
-- want --
-example.com/basic/a
--------------------
-Compatible changes:
-- A2: added
+# example.com/basic/a
+## compatible changes
+A2: added
-example.com/basic/v2/b
-----------------------
-Compatible changes:
-- package added
+# example.com/basic/v2/b
+## compatible changes
+package added
+# summary
Inferred base version: example.com/basic@v1.1.2
Cannot suggest a release version.
Base module path is different from release.
diff --git a/cmd/gorelease/testdata/basic/v1_v2_base_modpath_verify.test b/cmd/gorelease/testdata/basic/v1_v2_base_modpath_verify.test
index 54fe0db..85f7f86 100644
--- a/cmd/gorelease/testdata/basic/v1_v2_base_modpath_verify.test
+++ b/cmd/gorelease/testdata/basic/v1_v2_base_modpath_verify.test
@@ -4,15 +4,14 @@
release=v2.1.0
proxyVersions=example.com/basic@v1.1.2
-- want --
-example.com/basic/a
--------------------
-Compatible changes:
-- A2: added
+# example.com/basic/a
+## compatible changes
+A2: added
-example.com/basic/v2/b
-----------------------
-Compatible changes:
-- package added
+# example.com/basic/v2/b
+## compatible changes
+package added
+# summary
Inferred base version: example.com/basic@v1.1.2
v2.1.0 is a valid semantic version for this release.
diff --git a/cmd/gorelease/testdata/basic/v1_v2_base_modpath_version_verify.test b/cmd/gorelease/testdata/basic/v1_v2_base_modpath_version_verify.test
index 8edac73..63d3322 100644
--- a/cmd/gorelease/testdata/basic/v1_v2_base_modpath_version_verify.test
+++ b/cmd/gorelease/testdata/basic/v1_v2_base_modpath_version_verify.test
@@ -4,14 +4,13 @@
release=v2.0.1
proxyVersions=example.com/basic@v1.1.0
-- want --
-example.com/basic/a
--------------------
-Incompatible changes:
-- A2: removed
+# example.com/basic/a
+## incompatible changes
+A2: removed
-example.com/basic/b
--------------------
-Incompatible changes:
-- package removed
+# example.com/basic/b
+## incompatible changes
+package removed
+# summary
v2.0.1 is a valid semantic version for this release.
diff --git a/cmd/gorelease/testdata/basic/v1_v2_base_version_suggest.test b/cmd/gorelease/testdata/basic/v1_v2_base_version_suggest.test
index cde8731..683bb33 100644
--- a/cmd/gorelease/testdata/basic/v1_v2_base_version_suggest.test
+++ b/cmd/gorelease/testdata/basic/v1_v2_base_version_suggest.test
@@ -3,5 +3,6 @@
version=v2.1.0
success=false
-- want --
+# summary
Cannot suggest a release version.
Base module path is different from release.
diff --git a/cmd/gorelease/testdata/basic/v1_v2_base_version_verify.test b/cmd/gorelease/testdata/basic/v1_v2_base_version_verify.test
index 3099cfd..bc8e31a 100644
--- a/cmd/gorelease/testdata/basic/v1_v2_base_version_verify.test
+++ b/cmd/gorelease/testdata/basic/v1_v2_base_version_verify.test
@@ -3,4 +3,5 @@
version=v2.1.0
release=v2.1.0
-- want --
+# summary
v2.1.0 is a valid semantic version for this release.
diff --git a/cmd/gorelease/testdata/basic/v1_v2_incompatible_verify.test b/cmd/gorelease/testdata/basic/v1_v2_incompatible_verify.test
index 2017c87..07bbde9 100644
--- a/cmd/gorelease/testdata/basic/v1_v2_incompatible_verify.test
+++ b/cmd/gorelease/testdata/basic/v1_v2_incompatible_verify.test
@@ -4,16 +4,15 @@
release=v2.0.0
success=false
-- want --
-example.com/basic/a
--------------------
-Incompatible changes:
-- A2: removed
+# example.com/basic/a
+## incompatible changes
+A2: removed
-example.com/basic/b
--------------------
-Incompatible changes:
-- package removed
+# example.com/basic/b
+## incompatible changes
+package removed
+# summary
v2.0.0 is not a valid semantic version for this release.
The module path does not end with the major version suffix /v2,
which is required for major versions v2 or greater.
diff --git a/cmd/gorelease/testdata/basic/v2_compatible_suggest.test b/cmd/gorelease/testdata/basic/v2_compatible_suggest.test
index 78740e2..86e60cb 100644
--- a/cmd/gorelease/testdata/basic/v2_compatible_suggest.test
+++ b/cmd/gorelease/testdata/basic/v2_compatible_suggest.test
@@ -3,14 +3,13 @@
base=v2.0.1
proxyVersions=example.com/basic/v2@v2.0.1
-- want --
-example.com/basic/v2/a
-----------------------
-Compatible changes:
-- A2: added
+# example.com/basic/v2/a
+## compatible changes
+A2: added
-example.com/basic/v2/b
-----------------------
-Compatible changes:
-- package added
+# example.com/basic/v2/b
+## compatible changes
+package added
+# summary
Suggested version: v2.1.0
diff --git a/cmd/gorelease/testdata/basic/v2_compatible_verify.test b/cmd/gorelease/testdata/basic/v2_compatible_verify.test
index 63307ee..79eca35 100644
--- a/cmd/gorelease/testdata/basic/v2_compatible_verify.test
+++ b/cmd/gorelease/testdata/basic/v2_compatible_verify.test
@@ -4,14 +4,13 @@
release=v2.1.0
proxyVersions=example.com/basic/v2@v2.0.1
-- want --
-example.com/basic/v2/a
-----------------------
-Compatible changes:
-- A2: added
+# example.com/basic/v2/a
+## compatible changes
+A2: added
-example.com/basic/v2/b
-----------------------
-Compatible changes:
-- package added
+# example.com/basic/v2/b
+## compatible changes
+package added
+# summary
v2.1.0 is a valid semantic version for this release.
diff --git a/cmd/gorelease/testdata/basic/v2_incompatible_suggest.test b/cmd/gorelease/testdata/basic/v2_incompatible_suggest.test
index 694892c..43aa3fe 100644
--- a/cmd/gorelease/testdata/basic/v2_incompatible_suggest.test
+++ b/cmd/gorelease/testdata/basic/v2_incompatible_suggest.test
@@ -3,15 +3,14 @@
base=v2.1.1
success=false
-- want --
-example.com/basic/v2/a
-----------------------
-Incompatible changes:
-- A2: removed
+# example.com/basic/v2/a
+## incompatible changes
+A2: removed
-example.com/basic/v2/b
-----------------------
-Incompatible changes:
-- package removed
+# example.com/basic/v2/b
+## incompatible changes
+package removed
+# summary
Cannot suggest a release version.
Incompatible changes were detected.
diff --git a/cmd/gorelease/testdata/basic/v2_incompatible_verify.test b/cmd/gorelease/testdata/basic/v2_incompatible_verify.test
index 3948f41..68b7321 100644
--- a/cmd/gorelease/testdata/basic/v2_incompatible_verify.test
+++ b/cmd/gorelease/testdata/basic/v2_incompatible_verify.test
@@ -5,15 +5,14 @@
release=v2.1.2
proxyVersions=example.com/basic/v2@v2.1.1
-- want --
-example.com/basic/v2/a
-----------------------
-Incompatible changes:
-- A2: removed
+# example.com/basic/v2/a
+## incompatible changes
+A2: removed
-example.com/basic/v2/b
-----------------------
-Incompatible changes:
-- package removed
+# example.com/basic/v2/b
+## incompatible changes
+package removed
+# summary
v2.1.2 is not a valid semantic version for this release.
There are incompatible changes.
diff --git a/cmd/gorelease/testdata/basic/v2_nobase_suggest.test b/cmd/gorelease/testdata/basic/v2_nobase_suggest.test
index 957f82d..605edf9 100644
--- a/cmd/gorelease/testdata/basic/v2_nobase_suggest.test
+++ b/cmd/gorelease/testdata/basic/v2_nobase_suggest.test
@@ -2,4 +2,5 @@
version=v2.1.1
base=none
-- want --
+# summary
Suggested version: v2.0.0
diff --git a/cmd/gorelease/testdata/basic/v2_patch_suggest.test b/cmd/gorelease/testdata/basic/v2_patch_suggest.test
index 991885c..b16a863 100644
--- a/cmd/gorelease/testdata/basic/v2_patch_suggest.test
+++ b/cmd/gorelease/testdata/basic/v2_patch_suggest.test
@@ -3,4 +3,5 @@
base=v2.1.0
proxyVersions=example.com/basic/v2@v2.1.0
-- want --
+# summary
Suggested version: v2.1.1
diff --git a/cmd/gorelease/testdata/basic/v2_patch_verify.test b/cmd/gorelease/testdata/basic/v2_patch_verify.test
index f5c7f04..35d617a 100644
--- a/cmd/gorelease/testdata/basic/v2_patch_verify.test
+++ b/cmd/gorelease/testdata/basic/v2_patch_verify.test
@@ -4,4 +4,5 @@
release=v2.1.1
proxyVersions=example.com/basic/v2@v2.1.0
-- want --
+# summary
v2.1.1 is a valid semantic version for this release.
diff --git a/cmd/gorelease/testdata/basic/v2_pre_suggest.test b/cmd/gorelease/testdata/basic/v2_pre_suggest.test
index 94716f4..75d0c39 100644
--- a/cmd/gorelease/testdata/basic/v2_pre_suggest.test
+++ b/cmd/gorelease/testdata/basic/v2_pre_suggest.test
@@ -3,14 +3,13 @@
base=v2.1.1-pre
proxyVersions=example.com/basic/v2@v2.1.1-pre
-- want --
-example.com/basic/v2/a
-----------------------
-Incompatible changes:
-- A2: removed
+# example.com/basic/v2/a
+## incompatible changes
+A2: removed
-example.com/basic/v2/b
-----------------------
-Incompatible changes:
-- package removed
+# example.com/basic/v2/b
+## incompatible changes
+package removed
+# summary
Suggested version: v2.1.1
diff --git a/cmd/gorelease/testdata/basic/v3_autobase_suggest.test b/cmd/gorelease/testdata/basic/v3_autobase_suggest.test
index 69fd61f..eda87d2 100644
--- a/cmd/gorelease/testdata/basic/v3_autobase_suggest.test
+++ b/cmd/gorelease/testdata/basic/v3_autobase_suggest.test
@@ -4,5 +4,6 @@
go 1.13
-- want --
+# summary
Inferred base version: none
Suggested version: v3.0.0
diff --git a/cmd/gorelease/testdata/basic/v3_autobase_verify_first.test b/cmd/gorelease/testdata/basic/v3_autobase_verify_first.test
index 830b688..1cae913 100644
--- a/cmd/gorelease/testdata/basic/v3_autobase_verify_first.test
+++ b/cmd/gorelease/testdata/basic/v3_autobase_verify_first.test
@@ -2,5 +2,6 @@
version=v3.0.0-ignore
release=v3.0.0
-- want --
+# summary
Inferred base version: none
v3.0.0 is a valid semantic version for this release.
diff --git a/cmd/gorelease/testdata/cgo/cgo.test b/cmd/gorelease/testdata/cgo/cgo.test
index 4152bf5..b6cea21 100644
--- a/cmd/gorelease/testdata/cgo/cgo.test
+++ b/cmd/gorelease/testdata/cgo/cgo.test
@@ -12,4 +12,5 @@
func X() int { return int(C.x) }
-- want --
+# summary
v1.0.0 is a valid semantic version for this release.
diff --git a/cmd/gorelease/testdata/cycle/cycle_suggest.test b/cmd/gorelease/testdata/cycle/cycle_suggest.test
index 940897d..fc108d7 100644
--- a/cmd/gorelease/testdata/cycle/cycle_suggest.test
+++ b/cmd/gorelease/testdata/cycle/cycle_suggest.test
@@ -1,5 +1,6 @@
mod=example.com/cycle/v2
version=v2.0.0
-- want --
+# summary
Inferred base version: v2.0.0
Suggested version: v2.0.1
diff --git a/cmd/gorelease/testdata/cycle/cycle_suggest_error.test b/cmd/gorelease/testdata/cycle/cycle_suggest_error.test
index 3e8252f..133e4e3 100644
--- a/cmd/gorelease/testdata/cycle/cycle_suggest_error.test
+++ b/cmd/gorelease/testdata/cycle/cycle_suggest_error.test
@@ -3,5 +3,6 @@
version=v1.0.0
success=false
-- want --
+# summary
Cannot suggest a release version.
-Module indirectly depends on a higher version of itself (v1.5.0) than the base version (v1.0.0).
\ No newline at end of file
+Module indirectly depends on a higher version of itself (v1.5.0) than the base version (v1.0.0).
diff --git a/cmd/gorelease/testdata/cycle/cycle_verify.test b/cmd/gorelease/testdata/cycle/cycle_verify.test
index 64e1fdf..84b4106 100644
--- a/cmd/gorelease/testdata/cycle/cycle_verify.test
+++ b/cmd/gorelease/testdata/cycle/cycle_verify.test
@@ -4,5 +4,6 @@
release=v1.0.1
success=false
-- want --
+# summary
v1.0.1 is not a valid semantic version for this release.
-Module indirectly depends on a higher version of itself (v1.5.0).
\ No newline at end of file
+Module indirectly depends on a higher version of itself (v1.5.0).
diff --git a/cmd/gorelease/testdata/empty/empty.test b/cmd/gorelease/testdata/empty/empty.test
index cd95565..e9bebb4 100644
--- a/cmd/gorelease/testdata/empty/empty.test
+++ b/cmd/gorelease/testdata/empty/empty.test
@@ -4,4 +4,5 @@
release=v0.0.2
proxyVersions=example.com/empty@v0.0.1
-- want --
+# summary
v0.0.2 is a valid semantic version for this release.
diff --git a/cmd/gorelease/testdata/errors/errors.test b/cmd/gorelease/testdata/errors/errors.test
index a7b396b..81adeb5 100644
--- a/cmd/gorelease/testdata/errors/errors.test
+++ b/cmd/gorelease/testdata/errors/errors.test
@@ -5,37 +5,34 @@
success=false
proxyVersions=example.com/errors@v0.1.0
-- want --
-example.com/errors/added
-------------------------
-errors in release version:
- added/added.go:3:15: undeclared name: Missing
+# example.com/errors/added
+## errors in release version:
+added/added.go:3:15: undeclared name: Missing
-Compatible changes:
-- package added
+## compatible changes
+package added
-example.com/errors/broken
--------------------------
-errors in release version:
- broken/broken.go:3:15: undeclared name: Missing
+# example.com/errors/broken
+## errors in release version:
+broken/broken.go:3:15: undeclared name: Missing
-Incompatible changes:
-- X: value changed from 12 to unknown
+## incompatible changes
+X: value changed from 12 to unknown
-example.com/errors/deleted
---------------------------
-errors in base version:
- deleted/deleted.go:3:15: undeclared name: Missing
+# example.com/errors/deleted
+## errors in base version:
+deleted/deleted.go:3:15: undeclared name: Missing
-Incompatible changes:
-- package removed
+## incompatible changes
+package removed
-example.com/errors/fixed
-------------------------
-errors in base version:
- fixed/fixed.go:3:15: undeclared name: Missing
+# example.com/errors/fixed
+## errors in base version:
+fixed/fixed.go:3:15: undeclared name: Missing
-Incompatible changes:
-- X: value changed from unknown to 12
+## incompatible changes
+X: value changed from unknown to 12
+# summary
v0.2.0 is not a valid semantic version for this release.
Errors were found in one or more packages.
diff --git a/cmd/gorelease/testdata/first/v0_0_0.test b/cmd/gorelease/testdata/first/v0_0_0.test
index 8214501..5d473ee 100644
--- a/cmd/gorelease/testdata/first/v0_0_0.test
+++ b/cmd/gorelease/testdata/first/v0_0_0.test
@@ -2,6 +2,7 @@
base=none
release=v0.0.0
-- want --
+# summary
v0.0.0 is a valid semantic version for this release.
-- go.mod --
module example.com/first
diff --git a/cmd/gorelease/testdata/first/v0_0_1.test b/cmd/gorelease/testdata/first/v0_0_1.test
index 79630a1..f32c69e 100644
--- a/cmd/gorelease/testdata/first/v0_0_1.test
+++ b/cmd/gorelease/testdata/first/v0_0_1.test
@@ -2,6 +2,7 @@
base=none
release=v0.0.1
-- want --
+# summary
v0.0.1 is a valid semantic version for this release.
-- go.mod --
module example.com/first
diff --git a/cmd/gorelease/testdata/first/v0_1_0-alpha.1.test b/cmd/gorelease/testdata/first/v0_1_0-alpha.1.test
index 8b17521..90985ee 100644
--- a/cmd/gorelease/testdata/first/v0_1_0-alpha.1.test
+++ b/cmd/gorelease/testdata/first/v0_1_0-alpha.1.test
@@ -2,6 +2,7 @@
base=none
release=v0.1.0-alpha.1
-- want --
+# summary
v0.1.0-alpha.1 is a valid semantic version for this release.
-- go.mod --
module example.com/first
diff --git a/cmd/gorelease/testdata/first/v0_1_0.test b/cmd/gorelease/testdata/first/v0_1_0.test
index 656ba5d..05eef2a 100644
--- a/cmd/gorelease/testdata/first/v0_1_0.test
+++ b/cmd/gorelease/testdata/first/v0_1_0.test
@@ -2,6 +2,7 @@
base=none
release=v0.1.0
-- want --
+# summary
v0.1.0 is a valid semantic version for this release.
-- go.mod --
module example.com/first
diff --git a/cmd/gorelease/testdata/first/v1_0_0.test b/cmd/gorelease/testdata/first/v1_0_0.test
index e1b4f5c..c7400dc 100644
--- a/cmd/gorelease/testdata/first/v1_0_0.test
+++ b/cmd/gorelease/testdata/first/v1_0_0.test
@@ -2,6 +2,7 @@
base=none
release=v1.0.0
-- want --
+# summary
v1.0.0 is a valid semantic version for this release.
-- go.mod --
module example.com/first
diff --git a/cmd/gorelease/testdata/first/v1_2_3_explicit_none_base.test b/cmd/gorelease/testdata/first/v1_2_3_explicit_none_base.test
index ea3e7d1..2e1588f 100644
--- a/cmd/gorelease/testdata/first/v1_2_3_explicit_none_base.test
+++ b/cmd/gorelease/testdata/first/v1_2_3_explicit_none_base.test
@@ -3,10 +3,11 @@
release=v1.2.3
proxyVersions=
-- want --
+# summary
v1.2.3 is a valid semantic version for this release.
-- go.mod --
module example.com/first
go 1.12
-- p.go --
-package p
\ No newline at end of file
+package p
diff --git a/cmd/gorelease/testdata/first/v2_moderr.test b/cmd/gorelease/testdata/first/v2_moderr.test
index 63bb806..833cfa9 100644
--- a/cmd/gorelease/testdata/first/v2_moderr.test
+++ b/cmd/gorelease/testdata/first/v2_moderr.test
@@ -3,6 +3,7 @@
release=v2.0.0
success=false
-- want --
+# summary
v2.0.0 is not a valid semantic version for this release.
The module path does not end with the major version suffix /v2,
which is required for major versions v2 or greater.
diff --git a/cmd/gorelease/testdata/fix/compatible_other_suggest.test b/cmd/gorelease/testdata/fix/compatible_other_suggest.test
index ed1d3db..d545be8 100644
--- a/cmd/gorelease/testdata/fix/compatible_other_suggest.test
+++ b/cmd/gorelease/testdata/fix/compatible_other_suggest.test
@@ -3,18 +3,17 @@
version=v1.1.0-compatible-other
success=false
-- want --
-example.com/fix/bad
--------------------
-errors in base version:
- bad/bad.go:3:15: undeclared name: NOTYPE
+# example.com/fix/bad
+## errors in base version:
+bad/bad.go:3:15: undeclared name: NOTYPE
-Incompatible changes:
-- Broken: changed from func() invalid type to func() int
+## incompatible changes
+Broken: changed from func() invalid type to func() int
-example.com/fix/good
---------------------
-Compatible changes:
-- Better: added
+# example.com/fix/good
+## compatible changes
+Better: added
+# summary
Cannot suggest a release version.
Errors were found.
diff --git a/cmd/gorelease/testdata/fix/compatible_other_verify.test b/cmd/gorelease/testdata/fix/compatible_other_verify.test
index e0fb5c8..484c2af 100644
--- a/cmd/gorelease/testdata/fix/compatible_other_verify.test
+++ b/cmd/gorelease/testdata/fix/compatible_other_verify.test
@@ -3,18 +3,17 @@
version=v1.1.0-compatible-other
release=v1.1.0
-- want --
-example.com/fix/bad
--------------------
-errors in base version:
- bad/bad.go:3:15: undeclared name: NOTYPE
+# example.com/fix/bad
+## errors in base version:
+bad/bad.go:3:15: undeclared name: NOTYPE
-Incompatible changes:
-- Broken: changed from func() invalid type to func() int
+## incompatible changes
+Broken: changed from func() invalid type to func() int
-example.com/fix/good
---------------------
-Compatible changes:
-- Better: added
+# example.com/fix/good
+## compatible changes
+Better: added
+# summary
v1.1.0 is a valid semantic version for this release.
Errors were found in the base version. Some API changes may be omitted.
diff --git a/cmd/gorelease/testdata/fix/compatible_other_verify_err.test b/cmd/gorelease/testdata/fix/compatible_other_verify_err.test
index afc588b..d8d3a92 100644
--- a/cmd/gorelease/testdata/fix/compatible_other_verify_err.test
+++ b/cmd/gorelease/testdata/fix/compatible_other_verify_err.test
@@ -4,19 +4,18 @@
release=v1.0.1
success=false
-- want --
-example.com/fix/bad
--------------------
-errors in base version:
- bad/bad.go:3:15: undeclared name: NOTYPE
+# example.com/fix/bad
+## errors in base version:
+bad/bad.go:3:15: undeclared name: NOTYPE
-Incompatible changes:
-- Broken: changed from func() invalid type to func() int
+## incompatible changes
+Broken: changed from func() invalid type to func() int
-example.com/fix/good
---------------------
-Compatible changes:
-- Better: added
+# example.com/fix/good
+## compatible changes
+Better: added
+# summary
v1.0.1 is not a valid semantic version for this release.
There are compatible changes, but the minor version is not incremented
over the base version (v1.0.0).
diff --git a/cmd/gorelease/testdata/fix/compatible_same_suggest.test b/cmd/gorelease/testdata/fix/compatible_same_suggest.test
index b068d77..a57baa2 100644
--- a/cmd/gorelease/testdata/fix/compatible_same_suggest.test
+++ b/cmd/gorelease/testdata/fix/compatible_same_suggest.test
@@ -3,15 +3,15 @@
version=v1.1.0-compatible-same
success=false
-- want --
-example.com/fix/bad
--------------------
-errors in base version:
- bad/bad.go:3:15: undeclared name: NOTYPE
+# example.com/fix/bad
+## errors in base version:
+bad/bad.go:3:15: undeclared name: NOTYPE
-Incompatible changes:
-- Broken: changed from func() invalid type to func() int
-Compatible changes:
-- Worse: added
+## incompatible changes
+Broken: changed from func() invalid type to func() int
+## compatible changes
+Worse: added
+# summary
Cannot suggest a release version.
Errors were found.
diff --git a/cmd/gorelease/testdata/fix/compatible_same_verify.test b/cmd/gorelease/testdata/fix/compatible_same_verify.test
index 7aec674..6f1c335 100644
--- a/cmd/gorelease/testdata/fix/compatible_same_verify.test
+++ b/cmd/gorelease/testdata/fix/compatible_same_verify.test
@@ -3,15 +3,15 @@
version=v1.1.0-compatible-same
release=v1.0.1 # not actually valid, but gorelease can't tell
-- want --
-example.com/fix/bad
--------------------
-errors in base version:
- bad/bad.go:3:15: undeclared name: NOTYPE
+# example.com/fix/bad
+## errors in base version:
+bad/bad.go:3:15: undeclared name: NOTYPE
-Incompatible changes:
-- Broken: changed from func() invalid type to func() int
-Compatible changes:
-- Worse: added
+## incompatible changes
+Broken: changed from func() invalid type to func() int
+## compatible changes
+Worse: added
+# summary
v1.0.1 is a valid semantic version for this release.
Errors were found in the base version. Some API changes may be omitted.
diff --git a/cmd/gorelease/testdata/fix/incompatible_other_suggest.test b/cmd/gorelease/testdata/fix/incompatible_other_suggest.test
index 90b0ce7..6432119 100644
--- a/cmd/gorelease/testdata/fix/incompatible_other_suggest.test
+++ b/cmd/gorelease/testdata/fix/incompatible_other_suggest.test
@@ -3,18 +3,17 @@
version=v1.1.0-incompatible-other
success=false
-- want --
-example.com/fix/bad
--------------------
-errors in base version:
- bad/bad.go:3:15: undeclared name: NOTYPE
+# example.com/fix/bad
+## errors in base version:
+bad/bad.go:3:15: undeclared name: NOTYPE
-Incompatible changes:
-- Broken: changed from func() invalid type to func() int
+## incompatible changes
+Broken: changed from func() invalid type to func() int
-example.com/fix/good
---------------------
-Incompatible changes:
-- Good: changed from func() int to func() string
+# example.com/fix/good
+## incompatible changes
+Good: changed from func() int to func() string
+# summary
Cannot suggest a release version.
Errors were found.
diff --git a/cmd/gorelease/testdata/fix/incompatible_other_verify.test b/cmd/gorelease/testdata/fix/incompatible_other_verify.test
index fccdf58..f6fa31c 100644
--- a/cmd/gorelease/testdata/fix/incompatible_other_verify.test
+++ b/cmd/gorelease/testdata/fix/incompatible_other_verify.test
@@ -4,18 +4,17 @@
release=v1.1.0
success=false
-- want --
-example.com/fix/bad
--------------------
-errors in base version:
- bad/bad.go:3:15: undeclared name: NOTYPE
+# example.com/fix/bad
+## errors in base version:
+bad/bad.go:3:15: undeclared name: NOTYPE
-Incompatible changes:
-- Broken: changed from func() invalid type to func() int
+## incompatible changes
+Broken: changed from func() invalid type to func() int
-example.com/fix/good
---------------------
-Incompatible changes:
-- Good: changed from func() int to func() string
+# example.com/fix/good
+## incompatible changes
+Good: changed from func() int to func() string
+# summary
v1.1.0 is not a valid semantic version for this release.
There are incompatible changes.
diff --git a/cmd/gorelease/testdata/fix/incompatible_same_suggest.test b/cmd/gorelease/testdata/fix/incompatible_same_suggest.test
index cb1a11a..6ad492c 100644
--- a/cmd/gorelease/testdata/fix/incompatible_same_suggest.test
+++ b/cmd/gorelease/testdata/fix/incompatible_same_suggest.test
@@ -3,14 +3,14 @@
version=v1.1.0-incompatible-same
success=false
-- want --
-example.com/fix/bad
--------------------
-errors in base version:
- bad/bad.go:3:15: undeclared name: NOTYPE
+# example.com/fix/bad
+## errors in base version:
+bad/bad.go:3:15: undeclared name: NOTYPE
-Incompatible changes:
-- Bad: changed from func() int to func() string
-- Broken: changed from func() invalid type to func() int
+## incompatible changes
+Bad: changed from func() int to func() string
+Broken: changed from func() invalid type to func() int
+# summary
Cannot suggest a release version.
Errors were found.
diff --git a/cmd/gorelease/testdata/fix/incompatible_same_verify.test b/cmd/gorelease/testdata/fix/incompatible_same_verify.test
index b4c2155..e210aec 100644
--- a/cmd/gorelease/testdata/fix/incompatible_same_verify.test
+++ b/cmd/gorelease/testdata/fix/incompatible_same_verify.test
@@ -3,14 +3,14 @@
version=v1.1.0-incompatible-same
release=v1.0.1 # not actually valid, but gorelease can't tell
-- want --
-example.com/fix/bad
--------------------
-errors in base version:
- bad/bad.go:3:15: undeclared name: NOTYPE
+# example.com/fix/bad
+## errors in base version:
+bad/bad.go:3:15: undeclared name: NOTYPE
-Incompatible changes:
-- Bad: changed from func() int to func() string
-- Broken: changed from func() invalid type to func() int
+## incompatible changes
+Bad: changed from func() int to func() string
+Broken: changed from func() invalid type to func() int
+# summary
v1.0.1 is a valid semantic version for this release.
Errors were found in the base version. Some API changes may be omitted.
diff --git a/cmd/gorelease/testdata/fix/patch_suggest.test b/cmd/gorelease/testdata/fix/patch_suggest.test
index 3f32b27..20360d6 100644
--- a/cmd/gorelease/testdata/fix/patch_suggest.test
+++ b/cmd/gorelease/testdata/fix/patch_suggest.test
@@ -3,13 +3,13 @@
version=v1.0.1-patch
success=false
-- want --
-example.com/fix/bad
--------------------
-errors in base version:
- bad/bad.go:3:15: undeclared name: NOTYPE
+# example.com/fix/bad
+## errors in base version:
+bad/bad.go:3:15: undeclared name: NOTYPE
-Incompatible changes:
-- Broken: changed from func() invalid type to func() int
+## incompatible changes
+Broken: changed from func() invalid type to func() int
+# summary
Cannot suggest a release version.
Errors were found.
diff --git a/cmd/gorelease/testdata/fix/patch_verify.test b/cmd/gorelease/testdata/fix/patch_verify.test
index 0546a2a..50b55be 100644
--- a/cmd/gorelease/testdata/fix/patch_verify.test
+++ b/cmd/gorelease/testdata/fix/patch_verify.test
@@ -3,13 +3,13 @@
version=v1.0.1-patch
release=v1.0.1
-- want --
-example.com/fix/bad
--------------------
-errors in base version:
- bad/bad.go:3:15: undeclared name: NOTYPE
+# example.com/fix/bad
+## errors in base version:
+bad/bad.go:3:15: undeclared name: NOTYPE
-Incompatible changes:
-- Broken: changed from func() invalid type to func() int
+## incompatible changes
+Broken: changed from func() invalid type to func() int
+# summary
v1.0.1 is a valid semantic version for this release.
Errors were found in the base version. Some API changes may be omitted.
diff --git a/cmd/gorelease/testdata/internalcompat/internalcompat.test b/cmd/gorelease/testdata/internalcompat/internalcompat.test
index 9bf59a3..9436bee 100644
--- a/cmd/gorelease/testdata/internalcompat/internalcompat.test
+++ b/cmd/gorelease/testdata/internalcompat/internalcompat.test
@@ -3,3 +3,4 @@
release=v1.0.1
base=example.com/internalcompat/a@v1.0.0
-- want --
+# summary
diff --git a/cmd/gorelease/testdata/main/add.test b/cmd/gorelease/testdata/main/add.test
index 73b2cae..26089ad 100644
--- a/cmd/gorelease/testdata/main/add.test
+++ b/cmd/gorelease/testdata/main/add.test
@@ -1,11 +1,11 @@
mod=example.com/main
base=v0.0.1
-- want --
-example.com/main/b
-------------------
-Compatible changes:
-- package added
+# example.com/main/b
+## compatible changes
+package added
+# summary
Suggested version: v0.1.0
-- go.mod --
module example.com/main
diff --git a/cmd/gorelease/testdata/main/change.test b/cmd/gorelease/testdata/main/change.test
index 688839e..6960373 100644
--- a/cmd/gorelease/testdata/main/change.test
+++ b/cmd/gorelease/testdata/main/change.test
@@ -1,6 +1,7 @@
mod=example.com/main
base=v0.0.1
-- want --
+# summary
Suggested version: v0.0.2
-- go.mod --
module example.com/main
diff --git a/cmd/gorelease/testdata/main/remove.test b/cmd/gorelease/testdata/main/remove.test
index 41ac909..702e1d1 100644
--- a/cmd/gorelease/testdata/main/remove.test
+++ b/cmd/gorelease/testdata/main/remove.test
@@ -1,11 +1,11 @@
mod=example.com/main
base=v0.0.1
-- want --
-example.com/main/a
-------------------
-Incompatible changes:
-- package removed
+# example.com/main/a
+## incompatible changes
+package removed
+# summary
Suggested version: v0.1.0
-- go.mod --
module example.com/main
diff --git a/cmd/gorelease/testdata/nomod/nomod.test b/cmd/gorelease/testdata/nomod/nomod.test
index 973d393..c307d13 100644
--- a/cmd/gorelease/testdata/nomod/nomod.test
+++ b/cmd/gorelease/testdata/nomod/nomod.test
@@ -4,4 +4,5 @@
release=v0.0.2
proxyVersions=example.com/nomod@v0.0.1
-- want --
+# summary
v0.0.2 is a valid semantic version for this release.
diff --git a/cmd/gorelease/testdata/patherrors/dup_roots_branch.test b/cmd/gorelease/testdata/patherrors/dup_roots_branch.test
index 7e27b87..695d744 100644
--- a/cmd/gorelease/testdata/patherrors/dup_roots_branch.test
+++ b/cmd/gorelease/testdata/patherrors/dup_roots_branch.test
@@ -12,6 +12,10 @@
go 1.13
-- want --
+# diagnostics
module is defined in two locations:
dup/go.mod
dup/v2/go.mod
+
+# summary
+Suggested version: v2.0.0 (with tag dup/v2.0.0)
diff --git a/cmd/gorelease/testdata/patherrors/dup_roots_dir.test b/cmd/gorelease/testdata/patherrors/dup_roots_dir.test
index 41d6efc..f369704 100644
--- a/cmd/gorelease/testdata/patherrors/dup_roots_dir.test
+++ b/cmd/gorelease/testdata/patherrors/dup_roots_dir.test
@@ -12,6 +12,10 @@
go 1.13
-- want --
+# diagnostics
module is defined in two locations:
dup/v2/go.mod
dup/go.mod
+
+# summary
+Suggested version: v2.0.0 (with tag dup/v2.0.0)
diff --git a/cmd/gorelease/testdata/patherrors/dup_roots_ok.test b/cmd/gorelease/testdata/patherrors/dup_roots_ok.test
index b8716a5..bc71480 100644
--- a/cmd/gorelease/testdata/patherrors/dup_roots_ok.test
+++ b/cmd/gorelease/testdata/patherrors/dup_roots_ok.test
@@ -11,4 +11,5 @@
go 1.13
-- want --
+# summary
Suggested version: v2.0.0 (with tag dup/v2.0.0)
diff --git a/cmd/gorelease/testdata/patherrors/gopkginsub.test b/cmd/gorelease/testdata/patherrors/gopkginsub.test
index 659e87d..2cfcdd9 100644
--- a/cmd/gorelease/testdata/patherrors/gopkginsub.test
+++ b/cmd/gorelease/testdata/patherrors/gopkginsub.test
@@ -3,8 +3,12 @@
dir=yaml
success=false
-- want --
+# diagnostics
go.mod: go directive is missing
gopkg.in/yaml.v2: module path starts with gopkg.in and must be declared in the root directory of the repository
+
+# summary
+Suggested version: v2.0.0
-- .mod --
module example.com/patherrors
-- .git/HEAD --
diff --git a/cmd/gorelease/testdata/patherrors/pathsub.test b/cmd/gorelease/testdata/patherrors/pathsub.test
index 382fef7..04dbdd6 100644
--- a/cmd/gorelease/testdata/patherrors/pathsub.test
+++ b/cmd/gorelease/testdata/patherrors/pathsub.test
@@ -3,7 +3,11 @@
base=none
success=false
-- want --
+# diagnostics
example.com/y: module path must end with "x", since it is in subdirectory "x"
+
+# summary
+Suggested version: v0.1.0
-- .mod --
module example.com/patherrors
-- .git/HEAD --
diff --git a/cmd/gorelease/testdata/patherrors/pathsubv2.test b/cmd/gorelease/testdata/patherrors/pathsubv2.test
index a436d1a..76cc284 100644
--- a/cmd/gorelease/testdata/patherrors/pathsubv2.test
+++ b/cmd/gorelease/testdata/patherrors/pathsubv2.test
@@ -3,7 +3,11 @@
dir=x
success=false
-- want --
+# diagnostics
example.com/y/v2: module path must end with "x" or "x/v2", since it is in subdirectory "x"
+
+# summary
+Suggested version: v2.0.0
-- .mod --
module example.com/patherrors
-- .git/HEAD --
diff --git a/cmd/gorelease/testdata/prerelease/prerelease_2.test b/cmd/gorelease/testdata/prerelease/prerelease_2.test
index b3e83db..0597098 100644
--- a/cmd/gorelease/testdata/prerelease/prerelease_2.test
+++ b/cmd/gorelease/testdata/prerelease/prerelease_2.test
@@ -2,9 +2,15 @@
release=v0.0.0-2
success=false
-- want --
-Inferred base version: none
+# diagnostics
Version v0.0.0-2 is lower than most pseudo-versions. Consider releasing v0.1.0-0 instead.
+
+# summary
+Inferred base version: none
+v0.0.0-2 is a valid semantic version for this release.
+Note: v0.0.0-2 sorts lower in MVS than pseudo-versions, which may be
+unexpected for users. So, it may be better to choose a different suffix.
-- go.mod --
module example.com/prerelease
-go 1.12
\ No newline at end of file
+go 1.12
diff --git a/cmd/gorelease/testdata/prerelease/prerelease_3.test b/cmd/gorelease/testdata/prerelease/prerelease_3.test
index e155209..7f6b26f 100644
--- a/cmd/gorelease/testdata/prerelease/prerelease_3.test
+++ b/cmd/gorelease/testdata/prerelease/prerelease_3.test
@@ -2,9 +2,15 @@
release=v0.0.0-3
success=false
-- want --
-Inferred base version: none
+# diagnostics
Version v0.0.0-3 is lower than most pseudo-versions. Consider releasing v0.1.0-0 instead.
+
+# summary
+Inferred base version: none
+v0.0.0-3 is a valid semantic version for this release.
+Note: v0.0.0-3 sorts lower in MVS than pseudo-versions, which may be
+unexpected for users. So, it may be better to choose a different suffix.
-- go.mod --
module example.com/prerelease
-go 1.12
\ No newline at end of file
+go 1.12
diff --git a/cmd/gorelease/testdata/prerelease/prerelease_beta2.test b/cmd/gorelease/testdata/prerelease/prerelease_beta2.test
index 766abfc..b265a86 100644
--- a/cmd/gorelease/testdata/prerelease/prerelease_beta2.test
+++ b/cmd/gorelease/testdata/prerelease/prerelease_beta2.test
@@ -1,9 +1,10 @@
mod=example.com/prerelease
release=v0.0.0-beta2
-- want --
+# summary
Inferred base version: none
v0.0.0-beta2 is a valid semantic version for this release.
-- go.mod --
module example.com/prerelease
-go 1.12
\ No newline at end of file
+go 1.12
diff --git a/cmd/gorelease/testdata/prerelease/prerelease_wordsonly.test b/cmd/gorelease/testdata/prerelease/prerelease_wordsonly.test
index b24b76b..a59aa40 100644
--- a/cmd/gorelease/testdata/prerelease/prerelease_wordsonly.test
+++ b/cmd/gorelease/testdata/prerelease/prerelease_wordsonly.test
@@ -1,9 +1,10 @@
mod=example.com/prerelease
release=v0.0.0-some-words-only-suffix
-- want --
+# summary
Inferred base version: none
v0.0.0-some-words-only-suffix is a valid semantic version for this release.
-- go.mod --
module example.com/prerelease
-go 1.12
\ No newline at end of file
+go 1.12
diff --git a/cmd/gorelease/testdata/private/break.test b/cmd/gorelease/testdata/private/break.test
index 14967ab..3e4ec87 100644
--- a/cmd/gorelease/testdata/private/break.test
+++ b/cmd/gorelease/testdata/private/break.test
@@ -3,10 +3,10 @@
base=v1.0.1
success=false
-- want --
-example.com/private/p
----------------------
-Incompatible changes:
-- I.Foo: added
+# example.com/private/p
+## incompatible changes
+I.Foo: added
+# summary
Cannot suggest a release version.
Incompatible changes were detected.
diff --git a/cmd/gorelease/testdata/private/unreported.test b/cmd/gorelease/testdata/private/unreported.test
index 8ed58fe..20567b6 100644
--- a/cmd/gorelease/testdata/private/unreported.test
+++ b/cmd/gorelease/testdata/private/unreported.test
@@ -3,4 +3,5 @@
base=v1.0.0
proxyVersions=example.com/private@v1.0.0
-- want --
+# summary
Suggested version: v1.0.1
diff --git a/cmd/gorelease/testdata/regress/issue37756.test b/cmd/gorelease/testdata/regress/issue37756.test
index f95c55d..07b6017 100644
--- a/cmd/gorelease/testdata/regress/issue37756.test
+++ b/cmd/gorelease/testdata/regress/issue37756.test
@@ -5,19 +5,17 @@
base=v1.0.0
proxyVersions=example.com/issue37756@v1.0.0
-- want --
-example.com/issue37756/a
-------------------------
-Compatible changes:
-- A2: added
+# example.com/issue37756/a
+## compatible changes
+A2: added
-example.com/issue37756/b
-------------------------
-Compatible changes:
-- B2: added
+# example.com/issue37756/b
+## compatible changes
+B2: added
-example.com/issue37756/c
-------------------------
-Compatible changes:
-- C2: added
+# example.com/issue37756/c
+## compatible changes
+C2: added
+# summary
Suggested version: v1.1.0
diff --git a/cmd/gorelease/testdata/require/add_requirement.test b/cmd/gorelease/testdata/require/add_requirement.test
index 7833dd3..59ef3db 100644
--- a/cmd/gorelease/testdata/require/add_requirement.test
+++ b/cmd/gorelease/testdata/require/add_requirement.test
@@ -2,6 +2,7 @@
base=v0.0.1
proxyVersions=example.com/require@v0.0.1,example.com/basic@v1.0.1
-- want --
+# summary
Suggested version: v0.1.0
-- go.mod --
module example.com/require
diff --git a/cmd/gorelease/testdata/require/decrement_go_version.test b/cmd/gorelease/testdata/require/decrement_go_version.test
index 7360f13..ce461d5 100644
--- a/cmd/gorelease/testdata/require/decrement_go_version.test
+++ b/cmd/gorelease/testdata/require/decrement_go_version.test
@@ -2,6 +2,7 @@
base=v0.0.1
proxyVersions=example.com/require@v0.0.1
-- want --
+# summary
Suggested version: v0.0.2
-- go.mod --
module example.com/require
diff --git a/cmd/gorelease/testdata/require/decrement_requirement_minor.test b/cmd/gorelease/testdata/require/decrement_requirement_minor.test
index 02f3683..f64e3e3 100644
--- a/cmd/gorelease/testdata/require/decrement_requirement_minor.test
+++ b/cmd/gorelease/testdata/require/decrement_requirement_minor.test
@@ -1,6 +1,7 @@
mod=example.com/require
base=v0.1.1
-- want --
+# summary
Suggested version: v0.1.2
-- go.mod --
module example.com/require
diff --git a/cmd/gorelease/testdata/require/increment_go_version.test b/cmd/gorelease/testdata/require/increment_go_version.test
index a698bee..802ac6e 100644
--- a/cmd/gorelease/testdata/require/increment_go_version.test
+++ b/cmd/gorelease/testdata/require/increment_go_version.test
@@ -2,6 +2,7 @@
base=v0.0.1
proxyVersions=example.com/require@v0.0.1
-- want --
+# summary
Suggested version: v0.1.0
-- go.mod --
module example.com/require
diff --git a/cmd/gorelease/testdata/require/increment_requirement_minor.test b/cmd/gorelease/testdata/require/increment_requirement_minor.test
index 0d83508..821ff2a 100644
--- a/cmd/gorelease/testdata/require/increment_requirement_minor.test
+++ b/cmd/gorelease/testdata/require/increment_requirement_minor.test
@@ -2,6 +2,7 @@
base=v0.1.0
proxyVersions=example.com/require@v0.1.0,example.com/basic@v1.1.0,example.com/basic@v1.0.1
-- want --
+# summary
Suggested version: v0.2.0
-- go.mod --
module example.com/require
diff --git a/cmd/gorelease/testdata/require/increment_requirement_patch.test b/cmd/gorelease/testdata/require/increment_requirement_patch.test
index 2665fd3..d183300 100644
--- a/cmd/gorelease/testdata/require/increment_requirement_patch.test
+++ b/cmd/gorelease/testdata/require/increment_requirement_patch.test
@@ -2,6 +2,7 @@
base=v0.1.1
proxyVersions=example.com/require@v0.1.1,example.com/basic@v1.1.1,example.com/basic@v1.1.0
-- want --
+# summary
Suggested version: v0.1.2
-- go.mod --
module example.com/require
diff --git a/cmd/gorelease/testdata/require/remove_requirements.test b/cmd/gorelease/testdata/require/remove_requirements.test
index b3f82ed..91a8837 100644
--- a/cmd/gorelease/testdata/require/remove_requirements.test
+++ b/cmd/gorelease/testdata/require/remove_requirements.test
@@ -2,6 +2,7 @@
base=v0.0.1
proxyVersions=example.com/require@v0.0.1
-- want --
+# summary
Suggested version: v0.0.2
-- go.mod --
module example.com/require
diff --git a/cmd/gorelease/testdata/retract/retract_verify_direct_dep.test b/cmd/gorelease/testdata/retract/retract_verify_direct_dep.test
index 7e923c5..7777dff 100644
--- a/cmd/gorelease/testdata/retract/retract_verify_direct_dep.test
+++ b/cmd/gorelease/testdata/retract/retract_verify_direct_dep.test
@@ -2,5 +2,9 @@
version=v0.0.1
success=false
-- want --
-Inferred base version: v0.0.1
+# diagnostics
required module example.com/retractdep@v1.0.0 retracted by module author: Remote-triggered crash in package foo. See CVE-2021-01234.
+
+# summary
+Inferred base version: v0.0.1
+Suggested version: v0.0.2
diff --git a/cmd/gorelease/testdata/retract/retract_verify_long_msg.test b/cmd/gorelease/testdata/retract/retract_verify_long_msg.test
index a5d9fb7..1f2776f 100644
--- a/cmd/gorelease/testdata/retract/retract_verify_long_msg.test
+++ b/cmd/gorelease/testdata/retract/retract_verify_long_msg.test
@@ -1,8 +1,12 @@
mod=example.com/retract
success=false
-- want --
-Inferred base version: v0.0.1
+# diagnostics
required module example.com/retractdep/v3@v3.0.0 retracted by module author
+
+# summary
+Inferred base version: v0.0.1
+Suggested version: v0.1.0
-- go.mod --
module example.com/retract
diff --git a/cmd/gorelease/testdata/retract/retract_verify_no_msg.test b/cmd/gorelease/testdata/retract/retract_verify_no_msg.test
index 9a42760..7a748f7 100644
--- a/cmd/gorelease/testdata/retract/retract_verify_no_msg.test
+++ b/cmd/gorelease/testdata/retract/retract_verify_no_msg.test
@@ -1,8 +1,12 @@
mod=example.com/retract
success=false
-- want --
-Inferred base version: v0.0.1
+# diagnostics
required module example.com/retractdep/v2@v2.0.0 retracted by module author
+
+# summary
+Inferred base version: v0.0.1
+Suggested version: v0.1.0
-- go.mod --
module example.com/retract
diff --git a/cmd/gorelease/testdata/retract/retract_verify_transitive_dep.test b/cmd/gorelease/testdata/retract/retract_verify_transitive_dep.test
index 8338e5f..681702a 100644
--- a/cmd/gorelease/testdata/retract/retract_verify_transitive_dep.test
+++ b/cmd/gorelease/testdata/retract/retract_verify_transitive_dep.test
@@ -4,5 +4,9 @@
version=v0.0.1
success=false
-- want --
-Inferred base version: v0.0.1
+# diagnostics
required module example.com/retractdep@v1.0.0 retracted by module author: Remote-triggered crash in package foo. See CVE-2021-01234.
+
+# summary
+Inferred base version: v0.0.1
+Suggested version: v0.0.2
diff --git a/cmd/gorelease/testdata/sub/nest.test b/cmd/gorelease/testdata/sub/nest.test
index 7557f23..e8a2aae 100644
--- a/cmd/gorelease/testdata/sub/nest.test
+++ b/cmd/gorelease/testdata/sub/nest.test
@@ -2,6 +2,7 @@
dir=nest
base=v1.0.0
-- want --
+# summary
Suggested version: v1.0.1 (with tag nest/v1.0.1)
-- .git/HEAD --
-- nest/go.mod --
diff --git a/cmd/gorelease/testdata/sub/nest_v2.test b/cmd/gorelease/testdata/sub/nest_v2.test
index cc54576..209029e 100644
--- a/cmd/gorelease/testdata/sub/nest_v2.test
+++ b/cmd/gorelease/testdata/sub/nest_v2.test
@@ -2,6 +2,7 @@
dir=nest
base=v2.0.0
-- want --
+# summary
Suggested version: v2.0.1 (with tag nest/v2.0.1)
-- .git/HEAD --
-- nest/go.mod --
diff --git a/cmd/gorelease/testdata/sub/nest_v2_dir.test b/cmd/gorelease/testdata/sub/nest_v2_dir.test
index aea619d..8d549e5 100644
--- a/cmd/gorelease/testdata/sub/nest_v2_dir.test
+++ b/cmd/gorelease/testdata/sub/nest_v2_dir.test
@@ -2,6 +2,7 @@
dir=nest/v2
base=v2.0.0
-- want --
+# summary
Suggested version: v2.0.1 (with tag nest/v2.0.1)
-- .git/HEAD --
-- nest/v2/go.mod --
diff --git a/cmd/gorelease/testdata/sub/v2_dir.test b/cmd/gorelease/testdata/sub/v2_dir.test
index c1a4da7..feb690a 100644
--- a/cmd/gorelease/testdata/sub/v2_dir.test
+++ b/cmd/gorelease/testdata/sub/v2_dir.test
@@ -2,6 +2,7 @@
dir=v2
base=v2.0.0
-- want --
+# summary
Suggested version: v2.0.1
-- .git/HEAD --
-- v2/go.mod --
diff --git a/cmd/gorelease/testdata/sub/v2_root.test b/cmd/gorelease/testdata/sub/v2_root.test
index f53cadd..ce6d68f 100644
--- a/cmd/gorelease/testdata/sub/v2_root.test
+++ b/cmd/gorelease/testdata/sub/v2_root.test
@@ -1,6 +1,7 @@
mod=example.com/sub/v2
base=v2.0.0
-- want --
+# summary
Suggested version: v2.0.1
-- .git/HEAD --
-- go.mod --
diff --git a/cmd/gorelease/testdata/tidy/empty_sum.test b/cmd/gorelease/testdata/tidy/empty_sum.test
index 4aa31d9..69a51fb 100644
--- a/cmd/gorelease/testdata/tidy/empty_sum.test
+++ b/cmd/gorelease/testdata/tidy/empty_sum.test
@@ -2,7 +2,11 @@
base=v0.0.1
success=false
-- want --
+# diagnostics
go.sum: one or more sums are missing. Run 'go mod tidy' to add missing sums.
+
+# summary
+Suggested version: v0.1.0
-- go.mod --
module example.com/tidy
diff --git a/cmd/gorelease/testdata/tidy/misleading_req.test b/cmd/gorelease/testdata/tidy/misleading_req.test
index de0d745..b4b2954 100644
--- a/cmd/gorelease/testdata/tidy/misleading_req.test
+++ b/cmd/gorelease/testdata/tidy/misleading_req.test
@@ -22,6 +22,10 @@
import _ "example.com/tidy/a"
import _ "example.com/tidy/b"
-- want --
+# diagnostics
go.mod: the following requirements are needed
example.com/tidy/b@v0.2.0
Run 'go mod tidy' to add missing requirements.
+
+# summary
+Suggested version: v0.1.0
diff --git a/cmd/gorelease/testdata/tidy/missing_go.test b/cmd/gorelease/testdata/tidy/missing_go.test
index 9ef09d9..99ca05a 100644
--- a/cmd/gorelease/testdata/tidy/missing_go.test
+++ b/cmd/gorelease/testdata/tidy/missing_go.test
@@ -2,7 +2,11 @@
base=v0.0.1
success=0
-- want --
+# diagnostics
go.mod: go directive is missing
+
+# summary
+Suggested version: v0.0.2
-- go.mod --
module example.com/tidy
-- tidy.go --
diff --git a/cmd/gorelease/testdata/tidy/missing_req_basic.test b/cmd/gorelease/testdata/tidy/missing_req_basic.test
index 9290804..97a95a3 100644
--- a/cmd/gorelease/testdata/tidy/missing_req_basic.test
+++ b/cmd/gorelease/testdata/tidy/missing_req_basic.test
@@ -2,9 +2,13 @@
base=v0.0.1
success=false
-- want --
+# diagnostics
go.mod: the following requirements are needed
example.com/basic@v1.1.2
Run 'go mod tidy' to add missing requirements.
+
+# summary
+Suggested version: v0.0.2
-- go.mod --
module example.com/tidy
diff --git a/cmd/gorelease/testdata/tidy/missing_req_nested.test b/cmd/gorelease/testdata/tidy/missing_req_nested.test
index 75ca2bd..1533d6a 100644
--- a/cmd/gorelease/testdata/tidy/missing_req_nested.test
+++ b/cmd/gorelease/testdata/tidy/missing_req_nested.test
@@ -2,14 +2,17 @@
base=v0.0.1
success=false
-- want --
-example.com/tidy/subdir
------------------------
-Compatible changes:
-- package added
+# example.com/tidy/subdir
+## compatible changes
+package added
+# diagnostics
go.mod: the following requirements are needed
example.com/basic@v1.1.2
Run 'go mod tidy' to add missing requirements.
+
+# summary
+Suggested version: v0.1.0
-- go.mod --
module example.com/tidy
diff --git a/cmd/gorelease/testdata/tidy/missing_req_submodule.test b/cmd/gorelease/testdata/tidy/missing_req_submodule.test
index d864d26..e210c2d 100644
--- a/cmd/gorelease/testdata/tidy/missing_req_submodule.test
+++ b/cmd/gorelease/testdata/tidy/missing_req_submodule.test
@@ -2,6 +2,7 @@
base=v0.0.1
success=true
-- want --
+# summary
Suggested version: v0.0.2
-- go.mod --
module example.com/tidy
diff --git a/cmd/gorelease/testdata/tidy/missing_req_twice_nested.test b/cmd/gorelease/testdata/tidy/missing_req_twice_nested.test
index 006c242..c06f465 100644
--- a/cmd/gorelease/testdata/tidy/missing_req_twice_nested.test
+++ b/cmd/gorelease/testdata/tidy/missing_req_twice_nested.test
@@ -2,14 +2,17 @@
base=v0.0.1
success=false
-- want --
-example.com/tidy/subdir/subsubdir
----------------------------------
-Compatible changes:
-- package added
+# example.com/tidy/subdir/subsubdir
+## compatible changes
+package added
+# diagnostics
go.mod: the following requirements are needed
example.com/basic@v1.1.2
Run 'go mod tidy' to add missing requirements.
+
+# summary
+Suggested version: v0.1.0
-- go.mod --
module example.com/tidy
diff --git a/cmd/gorelease/testdata/tidy/no_sum.test b/cmd/gorelease/testdata/tidy/no_sum.test
index 8c594f5..f4ff48b 100644
--- a/cmd/gorelease/testdata/tidy/no_sum.test
+++ b/cmd/gorelease/testdata/tidy/no_sum.test
@@ -2,7 +2,11 @@
base=v0.0.1
success=false
-- want --
+# diagnostics
go.sum: one or more sums are missing. Run 'go mod tidy' to add missing sums.
+
+# summary
+Suggested version: v0.1.0
-- go.mod --
module example.com/tidy