package synctest
import "internal/synctest"
Package synctest provides support for testing concurrent code.
See the testing/synctest package for function documentation.
Index ¶
- Constants
- func Disassociate[T any](p *T)
- func IsAssociated[T any](p *T) bool
- func IsInBubble() bool
- func Run(f func())
- func Wait()
- type Association
- type Bubble
Constants ¶
const ( Unbubbled = Association(iota) // not associated with any bubble CurrentBubble // associated with the current bubble OtherBubble // associated with a different bubble )
Functions ¶
func Disassociate ¶
func Disassociate[T any](p *T)
Disassociate disassociates p from any bubble.
func IsAssociated ¶
IsAssociated reports whether p is associated with the current bubble.
func IsInBubble ¶
func IsInBubble() bool
IsInBubble reports whether the current goroutine is in a bubble.
func Run ¶
func Run(f func())
func Wait ¶
func Wait()
Types ¶
type Association ¶
type Association int
Association is the state of a pointer's bubble association.
func Associate ¶
func Associate[T any](p *T) Association
Associate attempts to associate p with the current bubble. It returns the new association status of p.
type Bubble ¶
type Bubble struct {
// contains filtered or unexported fields
}
A Bubble is a synctest bubble.
Not a public API. Used by syscall/js to propagate bubble membership through syscalls.
func Acquire ¶
func Acquire() *Bubble
Acquire returns a reference to the current goroutine's bubble. The bubble will not become idle until Release is called.
func (*Bubble) Release ¶
func (b *Bubble) Release()
Release releases the reference to the bubble, allowing it to become idle again.
func (*Bubble) Run ¶
func (b *Bubble) Run(f func())
Run executes f in the bubble. The current goroutine must not be part of a bubble.
Source Files ¶
- Version
- v1.25.0-rc.1
- Published
- Jun 11, 2025
- Platform
- js/wasm
- Imports
- 2 packages
- Last checked
- 13 minutes ago –
Tools for package owners.