summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Withnall <pwithnall@endlessos.org>2023-05-02 11:06:18 +0100
committerPhilip Withnall <pwithnall@endlessos.org>2023-05-02 12:53:13 +0100
commit85af9b73c9ad0bbeac0f5151f86411dcf89221a6 (patch)
tree1a34f1fe2ec43fc3c5570d752565aca75130535e
parente8c1bdbf4ff85a63a3ca437e34a1e7f89ac10145 (diff)
downloadglib-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.c9
-rw-r--r--glib/tests/messages-low-memory.c9
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