File: bpffs.go

package info (click to toggle)
golang-github-cilium-ebpf 0.17.3%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 4,684 kB
  • sloc: ansic: 1,259; makefile: 127; python: 113; awk: 29; sh: 24
file content (25 lines) | stat: -rw-r--r-- 531 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package testutils

import (
	"os"
	"strings"
	"testing"
)

// TempBPFFS creates a temporary directory on a BPF FS.
//
// The directory is automatically cleaned up at the end of the test run.
func TempBPFFS(tb testing.TB) string {
	tb.Helper()

	tmp, err := os.MkdirTemp("/sys/fs/bpf", "ebpf-test")
	if err != nil {
		if strings.Contains(err.Error(), "permission denied") {
			tb.Skipf("Skipping test: %v", err)
		}
		tb.Fatal("Create temporary directory on BPFFS:", err)
	}
	tb.Cleanup(func() { os.RemoveAll(tmp) })

	return tmp
}