diff options
| author | Joe Tsai <joetsai@digital-static.net> | 2025-06-23 16:36:25 -0700 |
|---|---|---|
| committer | Joseph Tsai <joetsai@digital-static.net> | 2025-06-23 18:21:07 -0700 |
| commit | f866958246556ec609b81d31376a39efe9d51a51 (patch) | |
| tree | d6bf62abb4cb9b8162627945ce2811baac641f13 /src/cmd | |
| parent | f77a0aa6b6d90742932f0bf29d2f94459597331a (diff) | |
| download | go-f866958246556ec609b81d31376a39efe9d51a51.tar.xz | |
cmd/dist: test encoding/json/... with GOEXPERIMENT=jsonv2
This also updates wasip1_wasm to use a 8MiB stack, which is
the same stack size as what is used by go_js_wasm_exec.
The increase of stack size is necessary because the jsonv2
tests exercise that the jsonv2 and jsontext packages support
a hard limit of a maximum JSON nesting depth of 10000.
However, even with a depth limit of 10000, this still exceeds
the previously specified maximum stack size of 1 MiB.
For use of JSON with untrusted inputs in WASM,
we really need to support #56733 as there is no right answer
for the default max depth limit to use since the max wasm
stack size is determined on a per-system basis.
Updates #71845
Change-Id: I3b32c58cc9f594a5c59bb3e4b20f5e86d85d8209
Reviewed-on: https://go-review.googlesource.com/c/go/+/683575
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
Reviewed-by: Damien Neil <dneil@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Diffstat (limited to 'src/cmd')
| -rw-r--r-- | src/cmd/dist/test.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go index c2eaeb1248..aa09d1eba3 100644 --- a/src/cmd/dist/test.go +++ b/src/cmd/dist/test.go @@ -743,6 +743,15 @@ func (t *tester) registerTests() { } } + // Test GOEXPERIMENT=jsonv2. + if !strings.Contains(goexperiment, "jsonv2") { + t.registerTest("GOEXPERIMENT=jsonv2 go test encoding/json/...", &goTest{ + variant: "jsonv2", + env: []string{"GOEXPERIMENT=jsonv2"}, + pkg: "encoding/json/...", + }) + } + // Test ios/amd64 for the iOS simulator. if goos == "darwin" && goarch == "amd64" && t.cgoEnabled { t.registerTest("GOOS=ios on darwin/amd64", |
