]> Cypherpunks repositories - gostls13.git/commit
crypto/tls: add scheduler call to TestCertCache refcount timeout loop
authorMichael Anthony Knyszek <mknyszek@google.com>
Wed, 7 May 2025 23:17:48 +0000 (23:17 +0000)
committerGopher Robot <gobot@golang.org>
Thu, 8 May 2025 18:09:12 +0000 (11:09 -0700)
commitb877f04eea44820481e3a33f93eb55e90ff1754d
tree289d53bdd0109c244bafbf90df82d7ec30ff07b9
parentc9d0fad5cbeb8ec60c7b21bb48f101e835241274
crypto/tls: add scheduler call to TestCertCache refcount timeout loop

Currently TestCertCache will busy loop waiting for a cleanup (in the
runtime.AddCleanup sense) to execute. If we ever get into this busy
loop, then on single-threaded platforms like js/wasm, we'll end up
_always_ timing out.

This doesn't happen right now because we're getting lucky. The finalizer
goroutine is scheduled into the runnext slot with 'ready' and is thus
scheduled immediately after the GC call. In a follow-up CL, scheduling
cleanup goroutines becomes less aggressive, and thus this test fails.

Although perhaps that CL should schedule cleanup goroutines more
aggressively, the test is still technically buggy, because it expects
busy loops like this to call into the scheduler, but that won't happen
on certain platforms.

Change-Id: I8efe5975be97f4314aec1c8c6e9e22f396be9c94
Reviewed-on: https://go-review.googlesource.com/c/go/+/670755
Auto-Submit: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Roland Shoemaker <roland@golang.org>
Reviewed-by: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
src/crypto/tls/cache_test.go