aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Neil <dneil@google.com>2024-12-10 15:29:47 -0800
committerDamien Neil <dneil@google.com>2024-12-11 03:38:02 +0000
commit4827ea8a64451b5585006ec48fe00b5ee070f4d3 (patch)
treeb00c9028d57b23b7f0ca237cd1f843b363279aee
parentdf9a971e20b8cc0a3f08a172ddbb0ded29b3fc4e (diff)
downloadgo-x-website-4827ea8a64451b5585006ec48fe00b5ee070f4d3.tar.xz
_content/doc/go1.24: add testing/synctest to release notes
Fixes golang/go#69687 Change-Id: If43733e060d3593adb99f5578900946e7885a41c Reviewed-on: https://go-review.googlesource.com/c/website/+/635055 Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Carlos Amedee <carlos@golang.org>
-rw-r--r--_content/doc/go1.24.md18
1 files changed, 17 insertions, 1 deletions
diff --git a/_content/doc/go1.24.md b/_content/doc/go1.24.md
index e5807f36..7b78ce1e 100644
--- a/_content/doc/go1.24.md
+++ b/_content/doc/go1.24.md
@@ -244,6 +244,23 @@ For supporting these use-cases, this release also provides
[`runtime.AddCleanup`](/pkg/runtime/#AddCleanup) and
[`maphash.Comparable`](/pkg/maphash/#Comparable).
+### New experimental testing/synctest package {#testing-synctest}
+
+The new experimental [`testing/synctest`](/pkg/testing/synctest/) package
+provides support for testing concurrent code.
+- The [`synctest.Run`](/pkg/testing/synctest/#Run) function starts a
+ group of goroutines in an isolated "bubble".
+ Within the bubble, [`time`](/pkg/time) package functions operate on a
+ fake clock.
+- The [`synctest.Wait`](/pkg/testing/synctest#Wait) function waits for
+ all goroutines in the current bubble to block.
+
+See the package documentation for more details.
+
+The `synctest` package is experimental and must be enabled by
+setting `GOEXPERIMENT=synctest` at build time.
+The package API is subject to change in future releases.
+
### Minor changes to the library {#minor_library_changes}
#### [`archive`](/pkg/archive/)
@@ -683,7 +700,6 @@ accepted proposal https://go.dev/issue/66821 (from https://go.dev/cl/602495, htt
accepted proposal https://go.dev/issue/64802 (from https://go.dev/cl/628681) - a crypto/ecdsa change when rand is nil; commented at https://go.dev/issue/64802#issuecomment-2502019212 for next steps
accepted proposal https://go.dev/issue/25309 (from https://go.dev/cl/594018, https://go.dev/cl/595120, https://go.dev/cl/595564, https://go.dev/cl/601778) - new x/crypto package; doesn't seem to need to be mentioned but asked anyway in https://go.dev/issue/25309#issuecomment-2498747653
accepted proposal https://go.dev/issue/43744 (from https://go.dev/cl/357530) - unclear if Go 1.24 release notes need anything; pinged it in https://go.dev/issue/43744#issuecomment-2498773718
-accepted proposal https://go.dev/issue/69687 (from https://go.dev/cl/591997, https://go.dev/cl/629735) - experimental package testing/synctest behind an experiment; commented at https://github.com/golang/go/issues/69687#issuecomment-2502179333, leaving to Damien to decide whether to document it or defer that until the package is added as non-experiment
accepted proposal https://go.dev/issue/51269 (from https://go.dev/cl/627035) - may be worth mentioning in Go 1.24 release notes, or may be fine to leave out; commented at https://go.dev/issue/51269#issuecomment-2501802763
accepted proposal https://go.dev/issue/60905 (from https://go.dev/cl/610195) - CL 610195 seems like a small performance enhancement that builds on the Go 1.23 proposal to add GOARM64; probably okay without being mentioned in Go 1.24 release notes (also probably okay to mention)
accepted proposal https://go.dev/issue/61395 (from https://go.dev/cl/594738, https://go.dev/cl/594976) - CL 594738 made sync/atomic AND/OR operations intrinsic on amd64, but the API was already added in Go 1.23; CL 594976 is a fix; probably doesn't require a Go 1.24 release note