From 07c3d35d4bb97ece054decd2a3ecc40c42fd06f6 Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Sun, 19 Feb 2017 02:17:45 +0530 Subject: [PATCH] mesontest: Set MALLOC_PERTURB_ to a random value This is useful enough that we can enable this for everyone. If people really don't want this, they can pass MALLOC_PERTURB_=0 in the environment or in the test. --- mesontest.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mesontest.py b/mesontest.py index f5da10311..3545ed8b5 100755 --- a/mesontest.py +++ b/mesontest.py @@ -25,6 +25,7 @@ import time, datetime, multiprocessing, json import concurrent.futures as conc import platform import signal +import random # GNU autotools interprets a return code of 77 from tests it executes to # mean that the test should be skipped. @@ -221,6 +222,14 @@ class TestHarness: if len(test.extra_paths) > 0: child_env['PATH'] += ';'.join([''] + test.extra_paths) + # If MALLOC_PERTURB_ is not set, or if it is set to an empty value, + # (i.e., the test or the environment don't explicitly set it), set + # it ourselves. We do this unconditionally because it is extremely + # useful to have in tests. + # Setting MALLOC_PERTURB_="0" will completely disable this feature. + if 'MALLOC_PERTURB_' not in child_env or not child_env['MALLOC_PERTURB_']: + child_env['MALLOC_PERTURB_'] = str(random.randint(1, 255)) + setsid = None stdout = None stderr = None