Skip to content

Commit

Permalink
add test for helper probing
Browse files Browse the repository at this point in the history
  • Loading branch information
brycekahle committed Dec 18, 2023
1 parent 57c758b commit ae82a20
Showing 1 changed file with 41 additions and 0 deletions.
41 changes: 41 additions & 0 deletions pkg/ebpf/feature_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
// Unless explicitly stated otherwise all files in this repository are licensed
// under the Apache License Version 2.0.
// This product includes software developed at Datadog (https://www.datadoghq.com/).
// Copyright 2016-present Datadog, Inc.

//go:build linux_bpf

package ebpf

import (
"errors"
"testing"

"github.com/cilium/ebpf"
"github.com/cilium/ebpf/asm"
"github.com/cilium/ebpf/features"
"github.com/cilium/ebpf/rlimit"
"github.com/stretchr/testify/require"
)

func TestKprobeHelperProbe(t *testing.T) {
err := rlimit.RemoveMemlock()
require.NoError(t, err)

var requiredFuncs = []asm.BuiltinFunc{
asm.FnMapLookupElem,
asm.FnMapUpdateElem,
asm.FnMapDeleteElem,
asm.FnPerfEventOutput,
asm.FnPerfEventRead,
}
for _, rf := range requiredFuncs {
if err := features.HaveProgramHelper(ebpf.Kprobe, rf); err != nil {
if errors.Is(err, ebpf.ErrNotSupported) {
t.Errorf("%s unsupported", rf.String())
} else {
t.Errorf("error checking for ebpf helper %s support: %s", rf.String(), err)
}
}
}
}

0 comments on commit ae82a20

Please sign in to comment.