github.com/cilium/ebpf@v0.15.1-0.20240517100537-8079b37aa138/internal/sysenc/buffer_test.go (about) 1 package sysenc_test 2 3 import ( 4 "testing" 5 "unsafe" 6 7 "github.com/go-quicktest/qt" 8 9 "github.com/cilium/ebpf/internal/sys" 10 "github.com/cilium/ebpf/internal/sysenc" 11 ) 12 13 func TestZeroBuffer(t *testing.T) { 14 var zero sysenc.Buffer 15 16 qt.Assert(t, qt.Equals(zero.CopyTo(make([]byte, 1)), 0)) 17 qt.Assert(t, qt.Equals(zero.Pointer(), sys.Pointer{})) 18 qt.Assert(t, qt.IsNotNil(zero.Unmarshal(new(uint16)))) 19 } 20 21 func TestUnsafeBuffer(t *testing.T) { 22 ptr := unsafe.Pointer(new(uint16)) 23 buf := sysenc.UnsafeBuffer(ptr) 24 25 qt.Assert(t, qt.Equals(buf.CopyTo(make([]byte, 1)), 0)) 26 qt.Assert(t, qt.Equals(buf.Pointer(), sys.NewPointer(ptr))) 27 qt.Assert(t, qt.IsNil(buf.Unmarshal(new(uint16)))) 28 }