diff options
Diffstat (limited to 'test/utils.py')
-rw-r--r-- | test/utils.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/utils.py b/test/utils.py new file mode 100644 index 0000000..5c67f92 --- /dev/null +++ b/test/utils.py @@ -0,0 +1,26 @@ +import sys + +class make_env(object): + def __init__(self, argv=None, stdout=None): + self.argv = argv + self.stdout = stdout + + def __enter__(self): + self.old_argv = sys.argv + if self.argv: + sys.argv = self.argv + + self.old_stdout = sys.stdout + self.old_stderr = sys.stderr + if self.stdout: + sys.stdout = self.stdout + sys.stderr = self.stdout + + def __exit__(self, *args): + if self.old_argv: + sys.argv = self.old_argv + + if self.old_stdout: + sys.stdout = self.old_stdout + if self.old_stderr: + sys.stderr = self.old_stderr |