Basic test for ebpf added
This commit is contained in:
parent
509d6e5505
commit
8033525f3f
73
GetRuntimeAddresses/ebpf/ebpf_test.go
Normal file
73
GetRuntimeAddresses/ebpf/ebpf_test.go
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
package ebpf
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestBPF(t *testing.T) {
|
||||||
|
var mfd MapFD
|
||||||
|
|
||||||
|
const beef = 0xbeef0000
|
||||||
|
const dead = 0xdead0000
|
||||||
|
|
||||||
|
t.Run("CreateMap", func(t *testing.T) {
|
||||||
|
var err error
|
||||||
|
mfd, err = CreateMap()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
var count = 64
|
||||||
|
|
||||||
|
t.Run("Add", func(t *testing.T) {
|
||||||
|
for i := 1; i <= count; i++ {
|
||||||
|
err := mfd.Add(i, uint64(beef+i))
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("GetMap1", func(t *testing.T) {
|
||||||
|
m, err := mfd.GetMap()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
} else if len(m) != count {
|
||||||
|
t.Fatalf("expected len(m) == %d, but got %d: %v", count, len(m), m)
|
||||||
|
}
|
||||||
|
for i := 1; i <= count; i++ {
|
||||||
|
if v, ok := m[i]; !ok {
|
||||||
|
t.Fatalf("value for index %d not found in map", i)
|
||||||
|
} else if v != uint64(beef+i) {
|
||||||
|
t.Fatalf("value for index %d should be %x but found %x", i, beef+i, v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("Set", func(t *testing.T) {
|
||||||
|
for i := 1; i <= count; i++ {
|
||||||
|
err := mfd.Set(i, uint64(dead+i))
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("GetMap2", func(t *testing.T) {
|
||||||
|
m, err := mfd.GetMap()
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
} else if len(m) != count {
|
||||||
|
t.Fatalf("expected len(m) == %d, but got %d: %v", count, len(m), m)
|
||||||
|
}
|
||||||
|
for i := 1; i <= count; i++ {
|
||||||
|
if v, ok := m[i]; !ok {
|
||||||
|
t.Fatalf("value for index %d not found in map", i)
|
||||||
|
} else if v != uint64(dead+i) {
|
||||||
|
t.Fatalf("value for index %d should be %x but found %x", i, dead+i, v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user