summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/11-basic-basic_errors.c33
-rwxr-xr-xtests/11-basic-basic_errors.py5
2 files changed, 38 insertions, 0 deletions
diff --git a/tests/11-basic-basic_errors.c b/tests/11-basic-basic_errors.c
index 49d9eef..53fe95d 100644
--- a/tests/11-basic-basic_errors.c
+++ b/tests/11-basic-basic_errors.c
@@ -175,6 +175,39 @@ int main(int argc, char *argv[])
seccomp_release(ctx);
ctx = NULL;
+ /* seccomp_export_bpf_mem errors */
+ char buf[1024];
+ size_t buf_len = sizeof(buf);
+ rc = seccomp_export_bpf_mem(ctx, buf, &buf_len);
+ if (rc != -EINVAL)
+ return -1;
+
+ ctx = seccomp_init(SCMP_ACT_KILL);
+ if (ctx == NULL)
+ return -1;
+ rc = seccomp_export_bpf_mem(ctx, buf, NULL);
+ if (rc != -EINVAL)
+ return -1;
+ rc = seccomp_export_bpf_mem(ctx, NULL, NULL);
+ if (rc != -EINVAL)
+ return -1;
+
+ rc = seccomp_export_bpf_mem(ctx, NULL, &buf_len);
+ if (rc != 0)
+ return -1;
+ rc = seccomp_export_bpf_mem(ctx, buf, &buf_len);
+ if (rc != 0)
+ return -1;
+ rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(exit), 0);
+ if (rc != 0)
+ return -1;
+ buf_len = 0;
+ rc = seccomp_export_bpf_mem(ctx, buf, &buf_len);
+ if (rc != -ERANGE)
+ return -1;
+ seccomp_release(ctx);
+ ctx = NULL;
+
/* seccomp_attr_* errors */
ctx = seccomp_init(SCMP_ACT_ALLOW);
if (ctx == NULL)
diff --git a/tests/11-basic-basic_errors.py b/tests/11-basic-basic_errors.py
index a2689ca..7cf502d 100755
--- a/tests/11-basic-basic_errors.py
+++ b/tests/11-basic-basic_errors.py
@@ -87,6 +87,11 @@ def test():
except RuntimeError:
pass
+ # This shouldn't throw any errors.
+ f = SyscallFilter(ALLOW)
+ f.add_rule(KILL, "read")
+ ret = f.export_bpf_mem()
+
test()
# kate: syntax python;