]> git.wincent.com - wikitext.git/commitdiff
Use Wopen3.system method for convenience
authorWincent Colaiuta <win@wincent.com>
Sun, 15 May 2011 08:28:10 +0000 (01:28 -0700)
committerWincent Colaiuta <win@wincent.com>
Sun, 15 May 2011 08:28:10 +0000 (01:28 -0700)
Signed-off-by: Wincent Colaiuta <win@wincent.com>
spec/rails_spec.rb

index 2540d230459892ca21bbd6732d7f52c393ef5e3c..d477edcaebf460c855ee3d31bdca6c68d52b4793 100644 (file)
@@ -36,26 +36,13 @@ module RailsSpecs
   SUCCESSFUL_TEST_RESULT  = /1 tests, 3 assertions, 0 failures, 0 errors/
 
   def run cmd, *args
-    result = OpenStruct.new
-    result.stdout = ''
-    result.stderr = ''
-    Wopen3.popen3(*([cmd] + args)) do |stdin, stdout, stderr|
-      threads = []
-      threads << Thread.new(stdout) do |out|
-        out.each { |line| result.stdout << line }
-      end
-      threads << Thread.new(stderr) do |err|
-        err.each { |line| result.stderr << line }
-      end
-      threads.each { |thread| thread.join }
-    end
-    status = $?.exitstatus
-    if status != 0
+    result = Wopen3.system(*([cmd] + args))
+    if result.status != 0
       command_string = ([cmd] + args).join(' ')
-      puts "\n*** COMMAND #{command_string} EXITED WITH NON-ZERO EXIT STATUS (#{status})"
+      puts "\n*** COMMAND #{command_string} EXITED WITH NON-ZERO EXIT STATUS (#{result.status})"
       puts "*** STDOUT FOR COMMAND #{command_string}:", result.stdout
       puts "*** STDERR FOR COMMAND #{command_string}:", result.stderr
-      raise "non-zero exit status (#{status}) for '#{cmd}'"
+      raise "non-zero exit status (#{result.status}) for '#{cmd}'"
     end
     result
   end