summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Lerche <carllerche@mac.com>2010-07-23 11:34:47 -0700
committerCarl Lerche <carllerche@mac.com>2010-07-24 11:16:32 -0700
commite6c3bebfbd6d3ec0490aea8d184b81d8cf0eb0fb (patch)
treed72bed91c61adb90f4dfb6fc5061a2ccf5b44c02
parenta9a7d6c4d10ee5e5988ea138539b763f7a6c822c (diff)
downloadbundler-e6c3bebfbd6d3ec0490aea8d184b81d8cf0eb0fb.tar.gz
Close open pipes in tests
-rw-r--r--spec/spec_helper.rb4
-rw-r--r--spec/support/helpers.rb8
2 files changed, 8 insertions, 4 deletions
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 646b242c5c..677e75637a 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -51,6 +51,10 @@ Spec::Runner.configure do |config|
end
config.after :each do
+ # clean up open pipes
+ @in_p.close if @in_p
+ @out_p.close if @out_p
+ @err_p.close if @err_p
Dir.chdir(original_wd)
# Reset ENV
ENV['PATH'] = original_path
diff --git a/spec/support/helpers.rb b/spec/support/helpers.rb
index b1940d33a2..77e2c7e0e9 100644
--- a/spec/support/helpers.rb
+++ b/spec/support/helpers.rb
@@ -79,12 +79,12 @@ module Spec
def sys_exec(cmd, expect_err = false)
require "open3"
- @in, @out, @err = Open3.popen3(cmd.to_s)
+ @in_p, @out_p, @err_p = Open3.popen3(cmd.to_s)
- yield @in if block_given?
+ yield @in_p if block_given?
- @err = err.read_available_bytes.strip
- @out = out.read_available_bytes.strip
+ @err = @err_p.read_available_bytes.strip
+ @out = @out_p.read_available_bytes.strip
puts @err unless expect_err || @err.empty? || !$show_err
@out