aboutsummaryrefslogtreecommitdiff
path: root/test/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/utils.py')
-rw-r--r--test/utils.py26
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