mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
12f4118437
The presence of multiple packages in a single directory sometimes confuses `go mod`, producing output like: go: downloading gvisor.dev/gvisor v0.0.0-20210601174640-77dc0f5bc94d $GOMODCACHE/gvisor.dev/gvisor@v0.0.0-20210601174640-77dc0f5bc94d/pkg/linewriter/linewriter.go:21:2: found packages sync (aliases.go) and seqatomic (generic_atomicptr_unsafe.go) in $GOMODCACHE/gvisor.dev/gvisor@v0.0.0-20210601174640-77dc0f5bc94d/pkg/sync imports.go:67:2: found packages tcp (accept.go) and rcv (rcv_test.go) in $GOMODCACHE/gvisor.dev/gvisor@v0.0.0-20210601174640-77dc0f5bc94d/pkg/tcpip/transport/tcp PiperOrigin-RevId: 376956213
32 lines
687 B
Go
32 lines
687 B
Go
// Copyright 2019 The gVisor Authors.
|
|
//
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package atomicptr
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func newInt(val int) *int {
|
|
return &val
|
|
}
|
|
|
|
func TestAtomicPtr(t *testing.T) {
|
|
var p AtomicPtrInt
|
|
if got := p.Load(); got != nil {
|
|
t.Errorf("initial value is %p (%v), wanted nil", got, got)
|
|
}
|
|
want := newInt(42)
|
|
p.Store(want)
|
|
if got := p.Load(); got != want {
|
|
t.Errorf("wrong value: got %p (%v), wanted %p (%v)", got, got, want, want)
|
|
}
|
|
want = newInt(100)
|
|
p.Store(want)
|
|
if got := p.Load(); got != want {
|
|
t.Errorf("wrong value: got %p (%v), wanted %p (%v)", got, got, want, want)
|
|
}
|
|
}
|