getrusage03: test ru_maxrss
getrusage03 - test ru_maxrss behaviors in struct rusage
This test program is backported from upstream commit:
1f10206cf8e945220f7220a809d8bfc15c21f9a5, which fills ru_maxrss
value in struct rusage according to rss hiwater mark. To make sure
this feature works correctly, a series of tests are executed in
this program.
Signed-off-by: Caspar Zhang <czhang@redhat.com>
diff --git a/lib/safe_macros.c b/lib/safe_macros.c
index c98376d..11f5fe6 100644
--- a/lib/safe_macros.c
+++ b/lib/safe_macros.c
@@ -1,5 +1,6 @@
#include <sys/types.h>
#include <sys/mman.h>
+#include <sys/resource.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <libgen.h>
@@ -108,6 +109,20 @@
return (rval);
}
+int
+safe_getrusage(const char *file, const int lineno, void (*cleanup_fn)(void),
+ int who, struct rusage *usage)
+{
+ int rval;
+
+ rval = getrusage(who, usage);
+ if (rval == -1)
+ tst_brkm(TBROK|TERRNO, cleanup_fn, "getrusage failed at %s:%d",
+ file, lineno);
+
+ return rval;
+}
+
void*
safe_malloc(const char *file, const int lineno, void (*cleanup_fn)(void),
size_t size)