10
"github.com/cilium/tetragon/pkg/bpf"
11
"github.com/cilium/tetragon/pkg/observer"
12
"github.com/cilium/tetragon/pkg/sensors"
16
func LoadSensor(t *testing.T, sensori sensors.SensorIface) {
17
sensor, ok := sensori.(*sensors.Sensor)
19
t.Fatalf("Cannot call LoadSensor on type %T", sensori)
22
if err := sensor.FindPrograms(); err != nil {
23
t.Fatalf("ObserverFindProgs error: %s", err)
25
bpfDir := bpf.MapPrefixPath()
26
if err := sensor.Load(bpfDir); err != nil {
27
t.Fatalf("observerLoadSensor error: %s", err)
36
type TestSensorManager struct {
37
Manager *sensors.Manager
46
func GetTestSensorManager(ctx context.Context, t *testing.T) *TestSensorManager {
47
if mgr := observer.GetSensorManager(); mgr != nil {
48
return &TestSensorManager{
53
path := bpf.MapPrefixPath()
54
mgr, err := sensors.StartSensorManager(path, nil)
56
t.Fatalf("startSensorController failed: %s", err)
59
err := mgr.StopSensorManager(ctx)
61
t.Logf("stopSensorController failed: %s\n", err)
65
return &TestSensorManager{
71
func (tsm *TestSensorManager) AddAndEnableSensor(
74
sensor *sensors.Sensor,
77
if err := tsm.Manager.AddSensor(ctx, sensorName, sensor); err != nil {
78
t.Fatalf("failed to add generic tracepoint sensor: %s", err)
81
tsm.Manager.RemoveSensor(ctx, sensorName)
83
if err := tsm.Manager.EnableSensor(ctx, sensorName); err != nil {
84
t.Fatalf("EnableSensor error: %s", err)
87
tsm.Manager.DisableSensor(ctx, sensorName)
92
func (tsm *TestSensorManager) EnableSensors(
95
targets []*sensors.Sensor,
97
for _, s := range targets {
98
if err := tsm.Manager.EnableSensor(ctx, s.Name); err != nil {
99
t.Fatalf("EnableSensor error: %s", err)
105
func (tsm *TestSensorManager) AddAndEnableSensors(
108
targets []*sensors.Sensor,
110
for i := range targets {
112
tsm.AddAndEnableSensor(ctx, t, sensor, sensor.Name)
117
func (tsm *TestSensorManager) DisableSensors(
120
targets []*sensors.Sensor,
122
for _, s := range targets {
123
err := tsm.Manager.DisableSensor(ctx, s.Name)
125
t.Logf("DisableSensor failed: %s", err)