summaryrefslogtreecommitdiffstats
path: root/src/internal/godebugs/godebugs_test.go
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-16 19:19:13 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-16 19:19:13 +0000
commitccd992355df7192993c666236047820244914598 (patch)
treef00fea65147227b7743083c6148396f74cd66935 /src/internal/godebugs/godebugs_test.go
parentInitial commit. (diff)
downloadgolang-1.21-ccd992355df7192993c666236047820244914598.tar.xz
golang-1.21-ccd992355df7192993c666236047820244914598.zip
Adding upstream version 1.21.8.upstream/1.21.8
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/internal/godebugs/godebugs_test.go')
-rw-r--r--src/internal/godebugs/godebugs_test.go46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/internal/godebugs/godebugs_test.go b/src/internal/godebugs/godebugs_test.go
new file mode 100644
index 0000000..a1cb8d4
--- /dev/null
+++ b/src/internal/godebugs/godebugs_test.go
@@ -0,0 +1,46 @@
+// Copyright 2023 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package godebugs_test
+
+import (
+ "internal/godebugs"
+ "internal/testenv"
+ "os"
+ "runtime"
+ "strings"
+ "testing"
+)
+
+func TestAll(t *testing.T) {
+ data, err := os.ReadFile("../../../doc/godebug.md")
+ if err != nil {
+ if os.IsNotExist(err) && (testenv.Builder() == "" || runtime.GOOS != "linux") {
+ t.Skip(err)
+ }
+ t.Fatal(err)
+ }
+ doc := string(data)
+
+ last := ""
+ for _, info := range godebugs.All {
+ if info.Name <= last {
+ t.Errorf("All not sorted: %s then %s", last, info.Name)
+ }
+ last = info.Name
+
+ if info.Package == "" {
+ t.Errorf("Name=%s missing Package", info.Name)
+ }
+ if info.Changed != 0 && info.Old == "" {
+ t.Errorf("Name=%s has Changed, missing Old", info.Name)
+ }
+ if info.Old != "" && info.Changed == 0 {
+ t.Errorf("Name=%s has Old, missing Changed", info.Name)
+ }
+ if !strings.Contains(doc, "`"+info.Name+"`") {
+ t.Errorf("Name=%s not documented in doc/godebug.md", info.Name)
+ }
+ }
+}