"internal/synctest"
"iter"
"reflect"
+ "runtime"
"slices"
"strconv"
"sync"
"testing"
"time"
+ "weak"
)
func TestNow(t *testing.T) {
}
}
+// https://go.dev/issue/73817
+func TestWeak(t *testing.T) {
+ synctest.Run(func() {
+ for range 100 {
+ runtime.GC()
+ b := make([]byte, 1024)
+ weak.Make(&b)
+ }
+ })
+}
+
func wantPanic(t *testing.T, want string) {
if e := recover(); e != nil {
if got := fmt.Sprint(e); got != want {
lockRankRoot: {},
lockRankItab: {},
lockRankReflectOffs: {lockRankItab},
- lockRankSynctest: {lockRankSysmon, lockRankScavenge, lockRankSweep, lockRankTestR, lockRankTimerSend, lockRankPollDesc, lockRankWakeableSleep, lockRankHchan, lockRankNotifyList, lockRankTimers, lockRankTimer, lockRankRoot, lockRankItab, lockRankReflectOffs},
+ lockRankSynctest: {lockRankSysmon, lockRankScavenge, lockRankSweepWaiters, lockRankStrongFromWeakQueue, lockRankSweep, lockRankTestR, lockRankTimerSend, lockRankPollDesc, lockRankWakeableSleep, lockRankHchan, lockRankNotifyList, lockRankTimers, lockRankTimer, lockRankRoot, lockRankItab, lockRankReflectOffs},
lockRankUserArenaState: {},
lockRankTraceBuf: {lockRankSysmon, lockRankScavenge},
lockRankTraceStrings: {lockRankSysmon, lockRankScavenge, lockRankTraceBuf},