From b0b36f18f86be2c8a8a443bf425ad4114c53c06e Mon Sep 17 00:00:00 2001 From: Barry Warsaw Date: Fri, 8 Apr 2016 22:45:36 -0400 Subject: Fix mailman shell processing of $PYTHONSTARTUP. Closes #224 --- src/mailman/testing/helpers.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/mailman/testing/helpers.py') diff --git a/src/mailman/testing/helpers.py b/src/mailman/testing/helpers.py index cb5bb8d28..3edd66479 100644 --- a/src/mailman/testing/helpers.py +++ b/src/mailman/testing/helpers.py @@ -550,3 +550,23 @@ def set_preferred(user): preferred.verified_on = now() user.preferred_address = preferred return preferred + + +@public +@contextmanager +def hackenv(envar, new_value): + """Hack the environment temporarily, then reset it.""" + old_value = os.getenv(envar) + if new_value is None: + if envar in os.environ: + del os.environ[envar] + else: + os.environ[envar] = new_value + try: + yield + finally: + if old_value is None: + if envar in os.environ: + del os.environ[envar] + else: + os.environ[envar] = old_value -- cgit v1.2.3-70-g09d2