Implement 64MB memory limit for test to ensure that it fails reliably in
600 seconds; it would previously fail inconsistently when run in some virtual machine configurations This patch might need to be reverted or revisited later (see the attached PR for more details) PR: 169302 Submitted by: pho Sponsored by: EMC / Isilon Storage Division
This commit is contained in:
parent
d49c6f029c
commit
f12a8d0b05
@ -45,6 +45,9 @@ __RCSID("$NetBSD: t_exhaust.c,v 1.7 2011/11/16 18:37:31 christos Exp $");
|
||||
#include <stdlib.h>
|
||||
#include <err.h>
|
||||
#include <atf-c.h>
|
||||
#if defined(__FreeBSD__)
|
||||
#include <sys/resource.h>
|
||||
#endif
|
||||
|
||||
#ifndef REGEX_MAXSIZE
|
||||
#define REGEX_MAXSIZE 9999
|
||||
@ -176,14 +179,25 @@ ATF_TC_HEAD(regcomp_too_big, tc)
|
||||
" crash, but return a proper error code");
|
||||
// libtre needs it.
|
||||
atf_tc_set_md_var(tc, "timeout", "600");
|
||||
#if defined(__FreeBSD__)
|
||||
atf_tc_set_md_var(tc, "require.memory", "64M");
|
||||
#else
|
||||
atf_tc_set_md_var(tc, "require.memory", "120M");
|
||||
#endif
|
||||
}
|
||||
|
||||
ATF_TC_BODY(regcomp_too_big, tc)
|
||||
{
|
||||
regex_t re;
|
||||
#if defined(__FreeBSD__)
|
||||
struct rlimit limit;
|
||||
#endif
|
||||
int e;
|
||||
|
||||
#if defined(__FreeBSD__)
|
||||
limit.rlim_cur = limit.rlim_max = 64 * 1024 * 1024;
|
||||
ATF_REQUIRE(setrlimit(RLIMIT_VMEM, &limit) != -1);
|
||||
#endif
|
||||
for (size_t i = 0; i < __arraycount(tests); i++) {
|
||||
char *d = (*tests[i].pattern)(REGEX_MAXSIZE);
|
||||
e = regcomp(&re, d, tests[i].type);
|
||||
|
Loading…
x
Reference in New Issue
Block a user