synctest

package standard library
master (7f6ff5e) Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 19, 2025 License: BSD-3-Clause Imports: 2 Imported by: 0

Documentation

Overview

Package synctest provides support for testing concurrent code.

See the testing/synctest package for function documentation.

Index

Constants

View Source
const (
	Unbubbled     = Association(iota) // not associated with any bubble
	CurrentBubble                     // associated with the current bubble
	OtherBubble                       // associated with a different bubble
)

Variables

This section is empty.

Functions

func Disassociate added in go1.25.0

func Disassociate[T any](p *T)

Disassociate disassociates p from any bubble.

func IsAssociated added in go1.25.0

func IsAssociated[T any](p *T) bool

IsAssociated reports whether p is associated with the current bubble.

func IsInBubble added in go1.25.0

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 added in go1.25.0

type Association int

Association is the state of a pointer's bubble association.

func Associate added in go1.25.0

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL