summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2011-07-27 17:31:33 -0700
committerIan Romanick <ian.d.romanick@intel.com>2011-08-19 09:24:42 -0700
commit829064ab06014f9cdb3c2a7bda2258ca3cb190be (patch)
tree8492d03c6e9e7e7a8b30501b94343b8a50fd6dcd
parentb8d9633830c67f76e9a3cbc17b45c3f226259537 (diff)
Add -rlimit command line option to set the rlimit
Acked-by: José Fonseca <jfonseca@vmware.com>
-rw-r--r--tests/util/piglit-framework.c32
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);