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