Skip to content

Commit e5cbf20

Browse files
tetragon/windows: Port unit tests in grpc package into Windows
This PR changs the unit tests in grpc package to also run and succeed on Windows. Some exec based unit tests are excluded due to ktime not being present in Windows exec event. Signed-off-by: Anadi Anadi<[email protected]>
1 parent ab68af6 commit e5cbf20

File tree

5 files changed

+78
-25
lines changed

5 files changed

+78
-25
lines changed

pkg/grpc/exec/exec_test.go

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,3 @@ func TestGrpcExecPodInfoDelayedInOrder(t *testing.T) {
6969
func TestGrpcDelayedExecK8sOutOfOrder(t *testing.T) {
7070
GrpcDelayedExecK8sOutOfOrder[*MsgExecveEventUnix, *MsgExitEventUnix](t)
7171
}
72-
73-
func TestGrpcExecAncestorsInOrder(t *testing.T) {
74-
GrpcExecAncestorsInOrder[*MsgExecveEventUnix, *MsgCloneEventUnix, *MsgExitEventUnix](t)
75-
}
76-
77-
func TestGrpcExecAncestorsOutOfOrder(t *testing.T) {
78-
GrpcExecAncestorsOutOfOrder[*MsgExecveEventUnix, *MsgCloneEventUnix, *MsgExitEventUnix](t)
79-
}

pkg/grpc/exec/exec_test_linux.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// SPDX-License-Identifier: Apache-2.0
2+
// Copyright Authors of Tetragon
3+
4+
// go test -gcflags="" -c ./pkg/grpc/exec/ -o go-tests/grpc-exec.test
5+
// sudo ./go-tests/grpc-exec.test [ -test.run TestGrpcExec ]
6+
7+
package exec
8+
9+
import (
10+
"testing"
11+
)
12+
13+
func TestGrpcExecAncestorsInOrder(t *testing.T) {
14+
GrpcExecAncestorsInOrder[*MsgExecveEventUnix, *MsgCloneEventUnix, *MsgExitEventUnix](t)
15+
}
16+
17+
func TestGrpcExecAncestorsOutOfOrder(t *testing.T) {
18+
GrpcExecAncestorsOutOfOrder[*MsgExecveEventUnix, *MsgCloneEventUnix, *MsgExitEventUnix](t)
19+
}

pkg/grpc/process_manager_test.go

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ package grpc
55

66
import (
77
"context"
8-
"encoding/base64"
9-
"os"
108
"sync"
119
"testing"
1210
"time"
@@ -17,7 +15,6 @@ import (
1715
"github.com/cilium/tetragon/pkg/grpc/exec"
1816
"github.com/cilium/tetragon/pkg/option"
1917
"github.com/cilium/tetragon/pkg/process"
20-
"github.com/cilium/tetragon/pkg/reader/node"
2118
"github.com/cilium/tetragon/pkg/rthooks"
2219
"github.com/cilium/tetragon/pkg/watcher"
2320
"github.com/stretchr/testify/assert"
@@ -211,17 +208,3 @@ func TestProcessManager_GetProcessExec(t *testing.T) {
211208
},
212209
exec.GetProcessExec(pi, false).Process.BinaryProperties)
213210
}
214-
215-
func TestProcessManager_GetProcessID(t *testing.T) {
216-
assert.NoError(t, os.Setenv("NODE_NAME", "my-node"))
217-
node.SetExportNodeName()
218-
219-
err := process.InitCache(watcher.NewFakeK8sWatcher([]interface{}{}), 10, defaults.DefaultProcessCacheGCInterval)
220-
assert.NoError(t, err)
221-
defer process.FreeCache()
222-
id := process.GetProcessID(1, 2)
223-
decoded, err := base64.StdEncoding.DecodeString(id)
224-
assert.NoError(t, err)
225-
assert.Equal(t, "my-node:2:1", string(decoded))
226-
assert.NoError(t, os.Unsetenv("NODE_NAME"))
227-
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// SPDX-License-Identifier: Apache-2.0
2+
// Copyright Authors of Cilium
3+
4+
package grpc
5+
6+
import (
7+
"encoding/base64"
8+
"os"
9+
"testing"
10+
11+
"github.com/cilium/tetragon/pkg/defaults"
12+
"github.com/cilium/tetragon/pkg/process"
13+
"github.com/cilium/tetragon/pkg/reader/node"
14+
"github.com/cilium/tetragon/pkg/watcher"
15+
"github.com/stretchr/testify/assert"
16+
)
17+
18+
func TestProcessManager_GetProcessID(t *testing.T) {
19+
assert.NoError(t, os.Setenv("NODE_NAME", "my-node"))
20+
node.SetExportNodeName()
21+
22+
err := process.InitCache(watcher.NewFakeK8sWatcher([]interface{}{}), 10, defaults.DefaultProcessCacheGCInterval)
23+
assert.NoError(t, err)
24+
defer process.FreeCache()
25+
id := process.GetProcessID(1, 2)
26+
decoded, err := base64.StdEncoding.DecodeString(id)
27+
assert.NoError(t, err)
28+
assert.Equal(t, "my-node:2:1", string(decoded))
29+
assert.NoError(t, os.Unsetenv("NODE_NAME"))
30+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// SPDX-License-Identifier: Apache-2.0
2+
// Copyright Authors of Cilium
3+
4+
package grpc
5+
6+
import (
7+
"encoding/base64"
8+
"os"
9+
"testing"
10+
11+
"github.com/cilium/tetragon/pkg/defaults"
12+
"github.com/cilium/tetragon/pkg/process"
13+
"github.com/cilium/tetragon/pkg/reader/node"
14+
"github.com/cilium/tetragon/pkg/watcher"
15+
"github.com/stretchr/testify/assert"
16+
)
17+
18+
func TestProcessManager_GetProcessID(t *testing.T) {
19+
assert.NoError(t, os.Setenv("NODE_NAME", "my-node"))
20+
node.SetExportNodeName()
21+
22+
err := process.InitCache(watcher.NewFakeK8sWatcher([]interface{}{}), 10, defaults.DefaultProcessCacheGCInterval)
23+
assert.NoError(t, err)
24+
defer process.FreeCache()
25+
id := process.GetProcessID(1, 2)
26+
decoded, err := base64.StdEncoding.DecodeString(id)
27+
assert.NoError(t, err)
28+
assert.Equal(t, "1:1:1", string(decoded))
29+
}

0 commit comments

Comments
 (0)