summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Moore <paul@paul-moore.com>2017-02-23 21:00:46 -0500
committerPaul Moore <paul@paul-moore.com>2017-02-24 13:42:03 -0500
commitfa2f2583dc46f7b330833d9ea18623d839db7114 (patch)
tree262f78f8d4e73fe65ee42ac4ee8145bc16116ba2
parent0d945be5b6d49248d91aa1a0555f749a8da9aaa7 (diff)
downloadlibseccomp-fa2f2583dc46f7b330833d9ea18623d839db7114.tar.gz
tests: add socket and ipc tests to 15-basic-resolver
Signed-off-by: Paul Moore <paul@paul-moore.com>
-rw-r--r--tests/15-basic-resolver.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/15-basic-resolver.c b/tests/15-basic-resolver.c
index 0c195bb..6badef1 100644
--- a/tests/15-basic-resolver.c
+++ b/tests/15-basic-resolver.c
@@ -26,6 +26,7 @@
#include <seccomp.h>
unsigned int arch_list[] = {
+ SCMP_ARCH_NATIVE,
SCMP_ARCH_X86,
SCMP_ARCH_X86_64,
SCMP_ARCH_X32,
@@ -68,6 +69,8 @@ int main(int argc, char *argv[])
while ((arch = arch_list[iter++]) != -1) {
int nr_open;
int nr_read;
+ int nr_socket;
+ int nr_shmctl;
if (seccomp_syscall_resolve_name_arch(arch,
"INVALID") != __NR_SCMP_ERROR)
@@ -82,6 +85,12 @@ int main(int argc, char *argv[])
nr_read = seccomp_syscall_resolve_name_arch(arch, "read");
if (nr_read == __NR_SCMP_ERROR)
goto fail;
+ nr_socket = seccomp_syscall_resolve_name_rewrite(arch, "socket");
+ if (nr_socket == __NR_SCMP_ERROR)
+ goto fail;
+ nr_shmctl = seccomp_syscall_resolve_name_rewrite(arch, "shmctl");
+ if (nr_shmctl == __NR_SCMP_ERROR)
+ goto fail;
name = seccomp_syscall_resolve_num_arch(arch, nr_open);
if (name == NULL || strcmp(name, "open") != 0)
@@ -94,6 +103,21 @@ int main(int argc, char *argv[])
goto fail;
free(name);
name = NULL;
+
+ name = seccomp_syscall_resolve_num_arch(arch, nr_socket);
+ if (name == NULL ||
+ (strcmp(name, "socket") != 0 &&
+ strcmp(name, "socketcall") != 0))
+ goto fail;
+ free(name);
+ name = NULL;
+
+ name = seccomp_syscall_resolve_num_arch(arch, nr_shmctl);
+ if (name == NULL ||
+ (strcmp(name, "shmctl") != 0 && strcmp(name, "ipc") != 0))
+ goto fail;
+ free(name);
+ name = NULL;
}
return 0;