diff options
| author | Barry Warsaw | 2016-04-08 22:45:36 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2016-04-08 22:45:36 -0400 |
| commit | b0b36f18f86be2c8a8a443bf425ad4114c53c06e (patch) | |
| tree | ff34562b3f050c8dc4ccd3c82153d667248e2829 /src/mailman/testing | |
| parent | 29da358eb0c92ba94d417736927060411c4264f8 (diff) | |
| download | mailman-b0b36f18f86be2c8a8a443bf425ad4114c53c06e.tar.gz mailman-b0b36f18f86be2c8a8a443bf425ad4114c53c06e.tar.zst mailman-b0b36f18f86be2c8a8a443bf425ad4114c53c06e.zip | |
Diffstat (limited to 'src/mailman/testing')
| -rw-r--r-- | src/mailman/testing/helpers.py | 20 |
1 files changed, 20 insertions, 0 deletions
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 |
