aboutsummaryrefslogtreecommitdiff
path: root/src/testing
diff options
context:
space:
mode:
authorSean Liao <sean@liao.dev>2025-08-17 12:29:48 +0100
committerAlan Donovan <adonovan@google.com>2025-08-29 07:39:28 -0700
commit38204e087267a3408e36aa23d2b5ac36f22feef3 (patch)
tree646ff82560e0f4c107e58b2d3250b1554789617e /src/testing
parent252c9011255872e21284480754400f9be7d48bf9 (diff)
downloadgo-38204e087267a3408e36aa23d2b5ac36f22feef3.tar.xz
testing/synctest: call out common issues with tests
While each point is explained their respective sections for Time, Blocking, and Isolation, these appear to be the most common issues worth calling out up front. Fixes #75052 Change-Id: I916b559075ee4d1d23810a08459e037e21690193 Reviewed-on: https://go-review.googlesource.com/c/go/+/696736 Auto-Submit: Damien Neil <dneil@google.com> Reviewed-by: Damien Neil <dneil@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Alan Donovan <adonovan@google.com>
Diffstat (limited to 'src/testing')
-rw-r--r--src/testing/synctest/synctest.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/testing/synctest/synctest.go b/src/testing/synctest/synctest.go
index ff88c3ec42..707383f9c7 100644
--- a/src/testing/synctest/synctest.go
+++ b/src/testing/synctest/synctest.go
@@ -7,6 +7,14 @@
// The [Test] function runs a function in an isolated "bubble".
// Any goroutines started within the bubble are also part of the bubble.
//
+// Each test should be entirely self-contained:
+// The following guidelines should apply to most tests:
+//
+// - Avoid interacting with goroutines not started from within the test.
+// - Avoid using the network. Use a fake network implementation as needed.
+// - Avoid interacting with external processes.
+// - Avoid leaking goroutines in background tasks.
+//
// # Time
//
// Within a bubble, the [time] package uses a fake clock.