diff options
author | Ian Romanick <ian.d.romanick@intel.com> | 2011-07-27 17:31:33 -0700 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2011-08-19 09:24:42 -0700 |
commit | 829064ab06014f9cdb3c2a7bda2258ca3cb190be (patch) | |
tree | 8492d03c6e9e7e7a8b30501b94343b8a50fd6dcd | |
parent | b8d9633830c67f76e9a3cbc17b45c3f226259537 (diff) |
Add -rlimit command line option to set the rlimit
Acked-by: José Fonseca <jfonseca@vmware.com>
-rw-r--r-- | tests/util/piglit-framework.c | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/tests/util/piglit-framework.c b/tests/util/piglit-framework.c index a034440a2..d79ab5490 100644 --- a/tests/util/piglit-framework.c +++ b/tests/util/piglit-framework.c @@ -81,9 +81,9 @@ int main(int argc, char *argv[]) /* Find/remove "-auto" from the argument vector. */ for (j = 1; j < argc; j++) { - if (!strcmp(argv[j], "-auto")) { - int i; + int i; + if (!strcmp(argv[j], "-auto")) { piglit_automatic = 1; for (i = j + 1; i < argc; i++) { @@ -91,6 +91,34 @@ int main(int argc, char *argv[]) } argc--; j--; + } else if (!strcmp(argv[j], "-rlimit")) { + char *ptr; + unsigned long lim; + + j++; + if (j >= argc) { + fprintf(stderr, + "-rlimit requires an argument\n"); + piglit_report_result(PIGLIT_FAIL); + } + + lim = strtoul(argv[j], &ptr, 0); + if (ptr == argv[j]) { + fprintf(stderr, + "-rlimit requires an argument\n"); + piglit_report_result(PIGLIT_FAIL); + } + + piglit_set_rlimit(lim); + + /* Remove 2 arguments (hence the 'i - 2') from the + * command line. + */ + for (i = j + 1; i < argc; i++) { + argv[i - 2] = argv[i]; + } + argc -= 2; + j -= 2; } } glutInitWindowPosition(0, 0); |