diff options
Diffstat (limited to 'resource/tst-getrlimit.c')
-rw-r--r-- | resource/tst-getrlimit.c | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/resource/tst-getrlimit.c b/resource/tst-getrlimit.c deleted file mode 100644 index 6748034..0000000 --- a/resource/tst-getrlimit.c +++ /dev/null @@ -1,112 +0,0 @@ -#include <errno.h> -#include <stdbool.h> -#include <stdio.h> -#include <sys/resource.h> - - -static struct -{ - const char *name; - int resource; - bool required; -} tests[] = - { - /* The following 7 limits are part of POSIX and must exist. */ - { "RLIMIT_CORE", RLIMIT_CORE, true }, - { "RLIMIT_CPU", RLIMIT_CPU, true }, - { "RLIMIT_DATA", RLIMIT_DATA, true }, - { "RLIMIT_FSIZE", RLIMIT_FSIZE, true }, - { "RLIMIT_NOFILE", RLIMIT_NOFILE, true }, - { "RLIMIT_STACK", RLIMIT_STACK, true }, - { "RLIMIT_AS", RLIMIT_AS, true }, - /* The following are traditional Unix limits which are also - expected (by us). */ - { "RLIMIT_RSS", RLIMIT_RSS, true }, - { "RLIMIT_NPROC", RLIMIT_NPROC, true }, - /* The following are extensions. */ -#ifdef RLIMIT_MEMLOCK - { "RLIMIT_MEMLOCK", RLIMIT_MEMLOCK, false }, -#endif -#ifdef RLIMIT_LOCKS - { "RLIMIT_LOCKS", RLIMIT_LOCKS, false }, -#endif -#ifdef RLIMIT_SIGPENDING - { "RLIMIT_SIGPENDING", RLIMIT_SIGPENDING, false }, -#endif -#ifdef RLIMIT_MSGQUEUE - { "RLIMIT_MSGQUEUE", RLIMIT_MSGQUEUE, false }, -#endif -#ifdef RLIMIT_NICE - { "RLIMIT_NICE", RLIMIT_NICE, false }, -#endif -#ifdef RLIMIT_RTPRIO - { "RLIMIT_RTPRIO", RLIMIT_RTPRIO, false }, -#endif - }; -#define ntests (sizeof (tests) / sizeof (tests[0])) - - -static int -do_test (void) -{ - int status = 0; - - for (int i = 0; i < ntests; ++i) - { - bool this_ok = true; - - struct rlimit r; - int res = getrlimit (tests[i].resource, &r); - if (res == -1) - { - if (errno == EINVAL) - { - if (tests[i].required) - { - printf ("limit %s expectedly not available for getrlimit\n", - tests[i].name); - status = 1; - this_ok = false; - } - } - else - { - printf ("getrlimit for %s returned unexpected error: %m\n", - tests[i].name); - status = 1; - this_ok = false; - } - } - - struct rlimit64 r64; - res = getrlimit64 (tests[i].resource, &r64); - if (res == -1) - { - if (errno == EINVAL) - { - if (tests[i].required) - { - printf ("limit %s expectedly not available for getrlimit64" - "\n", tests[i].name); - status = 1; - this_ok = false; - } - } - else - { - printf ("getrlimit64 for %s returned unexpected error: %m\n", - tests[i].name); - status = 1; - this_ok = false; - } - } - - if (this_ok) - printf ("limit %s OK\n", tests[i].name); - } - - return status; -} - -#define TEST_FUNCTION do_test () -#include "../test-skeleton.c" |