summaryrefslogtreecommitdiff
path: root/integrationtests
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-18 14:30:26 +0300
committerPaul Buetow <paul@buetow.org>2026-05-18 14:30:26 +0300
commit7fb497c435596a36c0fb0bd0ecae2a84793bcc70 (patch)
treecc12d16c0e34b034b1fc383a86ec6ffec997381b /integrationtests
parent519cd996b5a7fede23b8b23f3c101d10b26111de (diff)
j6: account bytes for ret-classified syscalls
Diffstat (limited to 'integrationtests')
-rw-r--r--integrationtests/readwrite_test.go19
-rw-r--r--integrationtests/retbytes_test.go35
2 files changed, 54 insertions, 0 deletions
diff --git a/integrationtests/readwrite_test.go b/integrationtests/readwrite_test.go
index 4e8cbef..69f60ea 100644
--- a/integrationtests/readwrite_test.go
+++ b/integrationtests/readwrite_test.go
@@ -228,3 +228,22 @@ func assertEventBytesReasonable(t *testing.T, result TestResult, exp ExpectedEve
t.Fatalf("expected event not found while asserting byte range: %+v", exp)
}
}
+
+func assertEventDurationPositive(t *testing.T, result TestResult, exp ExpectedEvent) {
+ t.Helper()
+ var matched bool
+ var totalDuration uint64
+ for _, rec := range result.Records {
+ if !matchesExpectation(rec, exp) {
+ continue
+ }
+ matched = true
+ totalDuration += rec.Cnt.Duration
+ }
+ if !matched {
+ t.Fatalf("expected event not found while asserting duration: %+v", exp)
+ }
+ if totalDuration == 0 {
+ t.Fatalf("duration for %+v is zero", exp)
+ }
+}
diff --git a/integrationtests/retbytes_test.go b/integrationtests/retbytes_test.go
new file mode 100644
index 0000000..2e2ea1d
--- /dev/null
+++ b/integrationtests/retbytes_test.go
@@ -0,0 +1,35 @@
+package integrationtests
+
+import "testing"
+
+func TestRetbytesPhaseA(t *testing.T) {
+ const payloadLen = uint64(18)
+
+ result, _ := runScenarioResult(t, "retbytes-phase-a", []ExpectedEvent{
+ {Tracepoint: "enter_sendto", Comm: "ioworkload", MinCount: 1},
+ {Tracepoint: "enter_recvfrom", Comm: "ioworkload", MinCount: 1},
+ {Tracepoint: "enter_sendmsg", Comm: "ioworkload", MinCount: 1},
+ {Tracepoint: "enter_recvmsg", Comm: "ioworkload", MinCount: 1},
+ {Tracepoint: "enter_sendfile64", Comm: "ioworkload", MinCount: 1},
+ {Tracepoint: "enter_splice", Comm: "ioworkload", MinCount: 1},
+ {Tracepoint: "enter_tee", Comm: "ioworkload", MinCount: 1},
+ {Tracepoint: "enter_process_vm_writev", Comm: "ioworkload", MinCount: 1},
+ {Tracepoint: "enter_process_vm_readv", Comm: "ioworkload", MinCount: 1},
+ })
+
+ for _, tracepoint := range []string{
+ "enter_sendto",
+ "enter_recvfrom",
+ "enter_sendmsg",
+ "enter_recvmsg",
+ "enter_sendfile64",
+ "enter_splice",
+ "enter_tee",
+ "enter_process_vm_writev",
+ "enter_process_vm_readv",
+ } {
+ exp := ExpectedEvent{Tracepoint: tracepoint, Comm: "ioworkload"}
+ assertEventBytesAtLeast(t, result, exp, payloadLen)
+ assertEventDurationPositive(t, result, exp)
+ }
+}