]> git.proxmox.com Git - mirror_libseccomp.git/blobdiff - tests/13-basic-attrs.c
tests: add notification tests
[mirror_libseccomp.git] / tests / 13-basic-attrs.c
index 091c8ed83fa96d7cbdf8e1dd9c764218c82390ae..e7b14f02912b73324e198928c9dfa098d902933d 100644 (file)
@@ -2,7 +2,7 @@
  * Seccomp Library test program
  *
  * Copyright (c) 2012 Red Hat <pmoore@redhat.com>
- * Author: Paul Moore <pmoore@redhat.com>
+ * Author: Paul Moore <paul@paul-moore.com>
  */
 
 /*
@@ -32,9 +32,13 @@ int main(int argc, char *argv[])
        uint32_t val = (uint32_t)(-1);
        scmp_filter_ctx ctx = NULL;
 
+       rc = seccomp_api_set(5);
+       if (rc != 0)
+               return EOPNOTSUPP;
+
        ctx = seccomp_init(SCMP_ACT_ALLOW);
        if (ctx == NULL)
-               goto out;
+               return ENOMEM;
 
        rc = seccomp_attr_get(ctx, SCMP_FLTATR_ACT_DEFAULT, &val);
        if (rc != 0)
@@ -71,6 +75,51 @@ int main(int argc, char *argv[])
                goto out;
        }
 
+       rc = seccomp_attr_set(ctx, SCMP_FLTATR_CTL_TSYNC, 1);
+       if (rc != 0 && rc != -EOPNOTSUPP)
+               goto out;
+       rc = seccomp_attr_get(ctx, SCMP_FLTATR_CTL_TSYNC, &val);
+       if (rc != 0)
+               goto out;
+       if (val != 1) {
+               rc = -1;
+               goto out;
+       }
+
+       rc = seccomp_attr_set(ctx, SCMP_FLTATR_API_TSKIP, 1);
+       if (rc != 0)
+               goto out;
+       rc = seccomp_attr_get(ctx, SCMP_FLTATR_API_TSKIP, &val);
+       if (rc != 0)
+               goto out;
+       if (val != 1) {
+               rc = -1;
+               goto out;
+       }
+
+       rc = seccomp_attr_set(ctx, SCMP_FLTATR_CTL_LOG, 1);
+       if (rc != 0)
+               goto out;
+       rc = seccomp_attr_get(ctx, SCMP_FLTATR_CTL_LOG, &val);
+       if (rc != 0)
+               goto out;
+       if (val != 1) {
+               rc = -1;
+               goto out;
+       }
+
+
+       rc = seccomp_attr_set(ctx, SCMP_FLTATR_CTL_SSB, 1);
+       if (rc != 0)
+               goto out;
+       rc = seccomp_attr_get(ctx, SCMP_FLTATR_CTL_SSB, &val);
+       if (rc != 0)
+               goto out;
+       if (val != 1) {
+               rc = -1;
+               goto out;
+       }
+
        rc = 0;
 out:
        seccomp_release(ctx);