aboutsummaryrefslogtreecommitdiffstats
path: root/test/rake/capture_stdout.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rake/capture_stdout.rb')
-rw-r--r--test/rake/capture_stdout.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/rake/capture_stdout.rb b/test/rake/capture_stdout.rb
new file mode 100644
index 0000000000..f54ec42f69
--- /dev/null
+++ b/test/rake/capture_stdout.rb
@@ -0,0 +1,24 @@
+require 'stringio'
+
+# Mix-in for capturing standard output.
+module CaptureStdout
+ def capture_stdout
+ s = StringIO.new
+ oldstdout = $stdout
+ $stdout = s
+ yield
+ s.string
+ ensure
+ $stdout = oldstdout
+ end
+
+ def capture_stderr
+ s = StringIO.new
+ oldstderr = $stderr
+ $stderr = s
+ yield
+ s.string
+ ensure
+ $stderr = oldstderr
+ end
+end