summaryrefslogtreecommitdiff
path: root/internal/generate/retclassify_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-02-21 11:51:01 +0200
committerPaul Buetow <paul@buetow.org>2026-02-21 11:51:01 +0200
commit6c912a9d72ae2a43923c638538d320e6bf585952 (patch)
tree727f66d158210e01abf8c18a83ef4db6066e0c1a /internal/generate/retclassify_test.go
parent32136b8cb18944157ff1f361bc0755f6b627fd47 (diff)
Migrate make targets to mage
Amp-Thread-ID: https://ampcode.com/threads/T-019c7f4e-cc5f-76f1-aaf0-dd7cbaabbb18 Co-authored-by: Amp <amp@ampcode.com>
Diffstat (limited to 'internal/generate/retclassify_test.go')
-rw-r--r--internal/generate/retclassify_test.go59
1 files changed, 59 insertions, 0 deletions
diff --git a/internal/generate/retclassify_test.go b/internal/generate/retclassify_test.go
new file mode 100644
index 0000000..3152005
--- /dev/null
+++ b/internal/generate/retclassify_test.go
@@ -0,0 +1,59 @@
+package generate
+
+import "testing"
+
+func TestClassifyRetRead(t *testing.T) {
+ reads := []string{
+ "fgetxattr", "flistxattr", "getdents", "getdents64", "getxattr",
+ "lgetxattr", "listxattr", "llistxattr", "pread64", "preadv",
+ "preadv2", "process_vm_readv", "read", "readlink", "readlinkat",
+ "readv", "recvmmsg", "recvmsg", "recvfrom", "syslog",
+ }
+ for _, name := range reads {
+ if got := ClassifyRet("sys_exit_" + name); got != ReadClassified {
+ t.Errorf("ClassifyRet(sys_exit_%s) = %q, want READ_CLASSIFIED", name, got)
+ }
+ }
+}
+
+func TestClassifyRetWrite(t *testing.T) {
+ writes := []string{
+ "process_vm_writev", "pwrite64", "pwritev", "pwritev2",
+ "sendmmsg", "sendmsg", "sendto", "write", "writev",
+ }
+ for _, name := range writes {
+ if got := ClassifyRet("sys_exit_" + name); got != WriteClassified {
+ t.Errorf("ClassifyRet(sys_exit_%s) = %q, want WRITE_CLASSIFIED", name, got)
+ }
+ }
+}
+
+func TestClassifyRetTransfer(t *testing.T) {
+ transfers := []string{
+ "copy_file_range", "sendfile64", "splice", "tee", "vmsplice",
+ }
+ for _, name := range transfers {
+ if got := ClassifyRet("sys_exit_" + name); got != TransferClassified {
+ t.Errorf("ClassifyRet(sys_exit_%s) = %q, want TRANSFER_CLASSIFIED", name, got)
+ }
+ }
+}
+
+func TestClassifyRetUnclassified(t *testing.T) {
+ unclassified := []string{
+ "openat", "close", "rename", "unlink", "fcntl", "dup", "dup2", "dup3",
+ "mkdir", "rmdir", "chmod", "chown", "chdir", "stat", "lseek",
+ "truncate", "fallocate", "mmap", "fsync", "flock",
+ }
+ for _, name := range unclassified {
+ if got := ClassifyRet("sys_exit_" + name); got != Unclassified {
+ t.Errorf("ClassifyRet(sys_exit_%s) = %q, want UNCLASSIFIED", name, got)
+ }
+ }
+}
+
+func TestClassifyRetCaseInsensitive(t *testing.T) {
+ if got := ClassifyRet("sys_exit_READ"); got != ReadClassified {
+ t.Errorf("ClassifyRet(sys_exit_READ) = %q, want READ_CLASSIFIED", got)
+ }
+}