Skip to content

Commit

Permalink
tests: filter unit tests by PID
Browse files Browse the repository at this point in the history
Filtering unit tests with a PidSet can significantly reduce noise in the event checker
logs, making it easier to debug tests. While it is possible that this could obfuscate
events that are missing process information by preventing them from being written to the
export log, I think the trade-off is probably worth it here.

Signed-off-by: William Findlay <will@isovalent.com>
  • Loading branch information
willfindlay committed Jun 1, 2023
1 parent ffb0186 commit deb0dac
Show file tree
Hide file tree
Showing 11 changed files with 46 additions and 46 deletions.
10 changes: 5 additions & 5 deletions pkg/sensors/exec/exec_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ func TestNamespaces(t *testing.T) {
WithParent(ec.NewProcessChecker()),
)

obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserver error: %s", err)
}
Expand All @@ -159,7 +159,7 @@ func TestEventExecve(t *testing.T) {
ctx, cancel := context.WithTimeout(context.Background(), tus.Conf().CmdWaitTime)
defer cancel()

obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("Failed to run observer: %s", err)
}
Expand Down Expand Up @@ -250,7 +250,7 @@ func TestEventExecveLongPath(t *testing.T) {
ctx, cancel := context.WithTimeout(context.Background(), tus.Conf().CmdWaitTime)
defer cancel()

obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("Failed to run observer: %s", err)
}
Expand All @@ -274,7 +274,7 @@ func TestEventExecveLongArgs(t *testing.T) {
ctx, cancel := context.WithTimeout(context.Background(), tus.Conf().CmdWaitTime)
defer cancel()

obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("Failed to run observer: %s", err)
}
Expand Down Expand Up @@ -397,7 +397,7 @@ func TestEventExecveLongPathLongArgs(t *testing.T) {
ctx, cancel := context.WithTimeout(context.Background(), tus.Conf().CmdWaitTime)
defer cancel()

obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("Failed to run observer: %s", err)
}
Expand Down
6 changes: 3 additions & 3 deletions pkg/sensors/exec/exit_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ func TestExit(t *testing.T) {
ctx, cancel := context.WithTimeout(context.Background(), tus.Conf().CmdWaitTime)
defer cancel()

obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("Failed to run observer: %s", err)
}
Expand Down Expand Up @@ -141,7 +141,7 @@ func TestExitZombie(t *testing.T) {
defer cancel()

t.Logf("starting observer")
obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -192,7 +192,7 @@ func TestExitCode(t *testing.T) {
ctx, cancel := context.WithTimeout(context.Background(), tus.Conf().CmdWaitTime)
defer cancel()

obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("Failed to run observer: %s", err)
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/sensors/exec/fork_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ func TestFork(t *testing.T) {
defer testPipes.Close()

t.Logf("starting observer")
obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/sensors/exec/threads_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ func TestCloneThreadsTester(t *testing.T) {
defer testPipes.Close()

t.Logf("starting observer")
obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -175,7 +175,7 @@ func TestExecThreads(t *testing.T) {
defer testPipes.Close()

t.Logf("starting observer")
obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/sensors/test/checker_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ func TestTestChecker(t *testing.T) {
}
errorChecker := NewTestChecker(&dummyChecker)

obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserver(t, ctx, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserver error: %s", err)
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/sensors/tracing/kprobe_amd64_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ spec:

createCrdFile(t, capabilityhook_)

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/sensors/tracing/kprobe_copyfd_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ func TestCopyFd(t *testing.T) {
specFname := makeSpecFile(pidStr)
t.Logf("pid is %s and spec file is %s", pidStr, specFname)

obs, err := observer.GetDefaultObserverWithFile(t, ctx, specFname, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, specFname, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/sensors/tracing/kprobe_sigkill_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ func TestKprobeSigkill(t *testing.T) {
specFname := makeSpecFile(pidStr)
t.Logf("child pid is %s and spec file is %s", pidStr, specFname)

obs, err := observer.GetDefaultObserverWithFile(t, ctx, specFname, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, specFname, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -165,7 +165,7 @@ func testUnprivilegedUsernsKill(t *testing.T, pidns bool) {
specFname := makeSpecFile(pidStr)
t.Logf("parent pid is %s and spec file is %s", pidStr, specFname)

obs, err := observer.GetDefaultObserverWithFile(t, ctx, specFname, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, specFname, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down
50 changes: 25 additions & 25 deletions pkg/sensors/tracing/kprobe_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ spec:
if err != nil {
t.Fatalf("writeFile(%s): err %s", testConfigFile, err)
}
_, err = observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
_, err = observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -139,7 +139,7 @@ spec:
t.Fatalf("writeFile(%s): err %s", testConfigFile, err)
}

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -183,7 +183,7 @@ func runKprobeObjectWriteRead(t *testing.T, writeReadHook string) {

checker := getTestKprobeObjectWRChecker(t)

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -434,7 +434,7 @@ func runKprobeObjectRead(t *testing.T, readHook string, checker ec.MultiEventChe
t.Fatalf("writeFile(%s): err %s", testConfigFile, err)
}

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -615,7 +615,7 @@ func testKprobeObjectFiltered(t *testing.T,
t.Fatalf("writeFile(%s): err %s", testConfigFile, err)
}

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -1166,7 +1166,7 @@ func testKprobeObjectFilteredReturnValue(t *testing.T,
t.Fatalf("writeFile(%s): err %s", testConfigFile, err)
}

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -1333,7 +1333,7 @@ spec:
))
checker := ec.NewUnorderedEventChecker(kpChecker)

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -1579,7 +1579,7 @@ func corePathTest(t *testing.T, filePath string, readHook string, writeChecker e
t.Fatalf("writeFile(%s): err %s", testConfigFile, err)
}

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -1825,7 +1825,7 @@ spec:
t.Fatalf("writeFile(%s): err %s", testConfigFile, err)
}

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -1878,7 +1878,7 @@ func runKprobeOverride(t *testing.T, hook string, checker ec.MultiEventChecker,
t.Fatalf("writeFile(%s): err %s", testConfigFile, err)
}

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -2050,7 +2050,7 @@ spec:
t.Fatalf("writeFile(%s): err %s", testConfigFile, err)
}

_, err = observer.GetDefaultObserverWithFileNoTest(t, context.Background(), testConfigFile, tus.Conf().TetragonLib, true)
_, err = observer.GetDefaultObserverWithFileNoTest(t, context.Background(), testConfigFile, tus.Conf().TetragonLib, true, observer.WithMyPid())
if err == nil {
t.Fatalf("GetDefaultObserverWithFileNoTest ok, should fail\n")
}
Expand All @@ -2075,7 +2075,7 @@ func runKprobeOverrideSignal(t *testing.T, hook string, checker ec.MultiEventChe
t.Fatalf("writeFile(%s): err %s", testConfigFile, err)
}

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -2321,7 +2321,7 @@ func runKprobe_char_iovec(t *testing.T, configHook string,
}

b := base.GetInitialSensor()
obs, err := observer.GetDefaultObserverWithWatchers(t, ctx, b, observer.WithConfig(testConfigFile), observer.WithLib(tus.Conf().TetragonLib))
obs, err := observer.GetDefaultObserverWithWatchers(t, ctx, b, observer.WithConfig(testConfigFile), observer.WithLib(tus.Conf().TetragonLib), observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithWatchers error: %s", err)
}
Expand Down Expand Up @@ -2682,7 +2682,7 @@ func TestKprobeMatchArgsFileEqual(t *testing.T) {

createCrdFile(t, getMatchArgsFileCrd("Equal", argVals[:]))

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -2722,7 +2722,7 @@ func TestKprobeMatchArgsFilePostfix(t *testing.T) {

createCrdFile(t, getMatchArgsFileCrd("Postfix", argVals[:]))

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -2762,7 +2762,7 @@ func TestKprobeMatchArgsFilePrefix(t *testing.T) {

createCrdFile(t, getMatchArgsFileCrd("Prefix", argVals[:]))

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -2802,7 +2802,7 @@ func TestKprobeMatchArgsFdEqual(t *testing.T) {

createCrdFile(t, getMatchArgsFdCrd("Equal", argVals[:]))

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -2838,7 +2838,7 @@ func TestKprobeMatchArgsFdPostfix(t *testing.T) {

createCrdFile(t, getMatchArgsFdCrd("Postfix", argVals[:]))

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -2874,7 +2874,7 @@ func TestKprobeMatchArgsFdPrefix(t *testing.T) {

createCrdFile(t, getMatchArgsFdCrd("Prefix", argVals[:]))

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -2938,7 +2938,7 @@ func TestKprobeMatchBinariesIn(t *testing.T) {

createCrdFile(t, getMatchBinariesCrd("In", []string{"/usr/bin/cat"}))

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -2968,7 +2968,7 @@ func TestKprobeMatchBinariesNotIn(t *testing.T) {

createCrdFile(t, getMatchBinariesCrd("NotIn", []string{"/usr/bin/tail"}))

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -3037,7 +3037,7 @@ spec:
`
createCrdFile(t, hook)

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down Expand Up @@ -3153,7 +3153,7 @@ spec:
if err != nil {
t.Fatalf("writeFile(%s): err %s", testConfigFile, err)
}
sens, err = observer.GetDefaultSensorsWithFile(t, context.TODO(), testConfigFile, tus.Conf().TetragonLib)
sens, err = observer.GetDefaultSensorsWithFile(t, context.TODO(), testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand All @@ -3177,7 +3177,7 @@ spec:
syscall: true
`

_, err := observer.GetDefaultObserverWithFile(t, ctx, "", tus.Conf().TetragonLib)
_, err := observer.GetDefaultObserverWithFile(t, ctx, "", tus.Conf().TetragonLib, observer.WithMyPid())
assert.NoError(t, err)

tp, err := tracingpolicy.PolicyFromYAML(testHook)
Expand Down Expand Up @@ -3206,7 +3206,7 @@ func testMaxData(t *testing.T, data []byte, checker *eventchecker.UnorderedEvent

option.Config.RBSize = 1024 * 1024

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/sensors/tracing/loader_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ spec:

checker := ec.NewUnorderedEventChecker(loaderChecker)

obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib)
obs, err := observer.GetDefaultObserverWithFile(t, ctx, testConfigFile, tus.Conf().TetragonLib, observer.WithMyPid())
if err != nil {
t.Fatalf("GetDefaultObserverWithFile error: %s", err)
}
Expand Down

0 comments on commit deb0dac

Please sign in to comment.