diff options
author | Philip Withnall <pwithnall@endlessos.org> | 2023-05-02 11:06:18 +0100 |
---|---|---|
committer | Philip Withnall <pwithnall@endlessos.org> | 2023-05-02 12:53:13 +0100 |
commit | 85af9b73c9ad0bbeac0f5151f86411dcf89221a6 (patch) | |
tree | 1a34f1fe2ec43fc3c5570d752565aca75130535e | |
parent | e8c1bdbf4ff85a63a3ca437e34a1e7f89ac10145 (diff) | |
download | glib-85af9b73c9ad0bbeac0f5151f86411dcf89221a6.tar.gz |
tests: Zero the rlimit in standalone tests which are expected to abort
This should hopefully stop the kernel spending a lot of memory and disk
bandwidth creating coredumps for them unnecessarily, which slows down
the rest of the tests and generally wastes resources.
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
Fixes: #2939
-rw-r--r-- | glib/tests/assert-msg-test.c | 9 | ||||
-rw-r--r-- | glib/tests/messages-low-memory.c | 9 |
2 files changed, 18 insertions, 0 deletions
diff --git a/glib/tests/assert-msg-test.c b/glib/tests/assert-msg-test.c index e91b1f4c3..b46496635 100644 --- a/glib/tests/assert-msg-test.c +++ b/glib/tests/assert-msg-test.c @@ -18,12 +18,21 @@ * Public License along with this library; if not, see <http://www.gnu.org/licenses/>. */ +#include "config.h" +#ifdef HAVE_SYS_RESOURCE_H +#include <sys/resource.h> +#endif #include <glib.h> int main (int argc, char **argv) { +#ifdef HAVE_SYS_RESOURCE_H + /* We expect this test to abort, so try to avoid that creating a coredump */ + struct rlimit limit = { 0, 0 }; + (void) setrlimit (RLIMIT_CORE, &limit); +#endif g_assert (42 < 0); return 0; diff --git a/glib/tests/messages-low-memory.c b/glib/tests/messages-low-memory.c index af35c4e26..ecb507024 100644 --- a/glib/tests/messages-low-memory.c +++ b/glib/tests/messages-low-memory.c @@ -23,6 +23,9 @@ #include "config.h" #include <dlfcn.h> +#ifdef HAVE_SYS_RESOURCE_H +#include <sys/resource.h> +#endif #include <glib.h> static gboolean malloc_eom = FALSE; @@ -56,6 +59,12 @@ int main (int argc, char *argv[]) { +#ifdef HAVE_SYS_RESOURCE_H + /* We expect this test to abort, so try to avoid that creating a coredump */ + struct rlimit limit = { 0, 0 }; + (void) setrlimit (RLIMIT_CORE, &limit); +#endif + g_setenv ("LC_ALL", "C", TRUE); #ifndef ENOMEM |