]> Cypherpunks.ru repositories - gostls13.git/blobdiff - src/go/build/deps_test.go
runtime: add execution tracer v2 behind GOEXPERIMENT=exectracer2
[gostls13.git] / src / go / build / deps_test.go
index 4415b92a29593def5a7e5e1edea648f0d93addd8..9291c95ac17f71d5c46c196f68ea5b6c5bd62157 100644 (file)
@@ -39,20 +39,22 @@ import (
 var depsRules = `
        # No dependencies allowed for any of these packages.
        NONE
-       < constraints, container/list, container/ring,
+       < cmp, container/list, container/ring,
          internal/cfg, internal/coverage, internal/coverage/rtcov,
          internal/coverage/uleb128, internal/coverage/calloc,
          internal/cpu, internal/goarch, internal/godebugs,
          internal/goexperiment, internal/goos,
          internal/goversion, internal/nettrace, internal/platform,
          log/internal,
-         maps, slices, unicode/utf8, unicode/utf16, unicode,
+         unicode/utf8, unicode/utf16, unicode,
          unsafe;
 
        # These packages depend only on internal/goarch and unsafe.
        internal/goarch, unsafe
        < internal/abi;
 
+       unsafe < maps;
+
        # RUNTIME is the core runtime group of packages, all of them very light-weight.
        internal/abi, internal/cpu, internal/goarch,
        internal/coverage/rtcov, internal/godebugs, internal/goexperiment,
@@ -68,14 +70,22 @@ var depsRules = `
        < sync/atomic
        < internal/race
        < sync
+       < internal/bisect
        < internal/godebug
        < internal/reflectlite
        < errors
        < internal/oserror, math/bits
        < RUNTIME;
 
-       RUNTIME
-       < sort
+       # slices depends on unsafe for overlapping check, cmp for comparison
+       # semantics, and math/bits for # calculating bitlength of numbers.
+       unsafe, cmp, math/bits
+       < slices;
+
+       RUNTIME, slices
+       < sort;
+
+       sort
        < container/heap;
 
        RUNTIME
@@ -121,7 +131,7 @@ var depsRules = `
        < math/cmplx;
 
        MATH
-       < math/rand;
+       < math/rand, math/rand/v2;
 
        MATH
        < runtime/metrics;
@@ -154,7 +164,7 @@ var depsRules = `
 
        unicode, fmt !< net, os, os/signal;
 
-       os/signal, STR
+       os/signal, internal/safefilepath, STR
        < path/filepath
        < io/ioutil;
 
@@ -200,7 +210,7 @@ var depsRules = `
 
        # encodings
        # core ones do not use fmt.
-       io, strconv
+       io, strconv, slices
        < encoding;
 
        encoding, reflect
@@ -237,15 +247,15 @@ var depsRules = `
        < text/template
        < internal/lazytemplate;
 
-       encoding/json, html, text/template
-       < html/template;
-
        # regexp
        FMT
        < regexp/syntax
        < regexp
        < internal/lazyregexp;
 
+       encoding/json, html, text/template, regexp
+       < html/template;
+
        # suffix array
        encoding/binary, regexp
        < index/suffixarray;
@@ -260,6 +270,8 @@ var depsRules = `
 
        # go parser and friends.
        FMT
+       < internal/gover
+       < go/version
        < go/token
        < go/scanner
        < go/ast
@@ -278,7 +290,10 @@ var depsRules = `
        math/big, go/token
        < go/constant;
 
-       container/heap, go/constant, go/parser, internal/types/errors
+       FMT, internal/goexperiment
+       < internal/buildcfg;
+
+       container/heap, go/constant, go/parser, internal/buildcfg, internal/goversion, internal/types/errors
        < go/types;
 
        # The vast majority of standard library packages should not be resorting to regexp.
@@ -289,10 +304,7 @@ var depsRules = `
        go/doc/comment, go/parser, internal/lazyregexp, text/template
        < go/doc;
 
-       FMT, internal/goexperiment
-       < internal/buildcfg;
-
-       go/build/constraint, go/doc, go/parser, internal/buildcfg, internal/goroot, internal/goversion
+       go/build/constraint, go/doc, go/parser, internal/buildcfg, internal/goroot, internal/goversion, internal/platform
        < go/build;
 
        # databases
@@ -554,7 +566,7 @@ var depsRules = `
        < net/rpc/jsonrpc;
 
        # System Information
-       internal/cpu, sync
+       bufio, bytes, internal/cpu, io, os, strings, sync
        < internal/sysinfo;
 
        # Test-only
@@ -568,6 +580,9 @@ var depsRules = `
        FMT, DEBUG, flag, runtime/trace, internal/sysinfo, math/rand
        < testing;
 
+       log/slog, testing
+       < testing/slogtest;
+
        FMT, crypto/sha256, encoding/json, go/ast, go/parser, go/token,
        internal/godebug, math/rand, encoding/hex, crypto/sha256
        < internal/fuzz;
@@ -590,12 +605,35 @@ var depsRules = `
        syscall
        < os/exec/internal/fdtest;
 
+       FMT
+       < internal/diff, internal/txtar;
+
        FMT, container/heap, math/rand
        < internal/trace;
 
+       # v2 execution trace parser.
        FMT
-       < internal/diff, internal/txtar;
+       < internal/trace/v2/event;
+
+       internal/trace/v2/event
+       < internal/trace/v2/event/go122;
 
+       FMT, io, internal/trace/v2/event/go122
+       < internal/trace/v2/version;
+
+       FMT, encoding/binary, internal/trace/v2/version
+       < internal/trace/v2/raw;
+
+       FMT, encoding/binary, internal/trace/v2/version
+       < internal/trace/v2;
+
+       regexp, internal/trace/v2, internal/trace/v2/raw, internal/txtar
+       < internal/trace/v2/testtrace;
+
+       regexp, internal/txtar, internal/trace/v2, internal/trace/v2/raw
+       < internal/trace/v2/internal/testgen/go122;
+
+       # Coverage.
        FMT, crypto/md5, encoding/binary, regexp, sort, text/tabwriter, unsafe,
        internal/coverage, internal/coverage/uleb128
        < internal/coverage/cmerge,
@@ -611,6 +649,10 @@ var depsRules = `
        internal/coverage/cmerge
        < internal/coverage/cformat;
 
+       internal/coverage, crypto/sha256, FMT
+       < cmd/internal/cov/covcmd;
+
+    encoding/json,
        runtime/debug,
        internal/coverage/calloc,
        internal/coverage/cformat,