Sha256: e5918eae24c7d447eb0ec7519c3e1554babee6edb2862b6bab425c25ef9017d8

Contents?: true

Size: 1.03 KB

Versions: 15

Compression:

Stored size: 1.03 KB

Contents

# Aruba::Api#run in aruba 0.2.4 does not work w/ JRuby or Rubinius.
# This is the version from 0.2.2 before aruba relied upon
# BackgroundProcess (which is not jruby/rbx compatible).
require 'tempfile'

Aruba::Api.module_eval do
  def run(cmd, fail_on_error=true)
    cmd = detect_ruby(cmd)

    stderr_file = Tempfile.new('cucumber')
    stderr_file.close
    in_current_dir do
      announce_or_puts("$ cd #{Dir.pwd}") if @announce_dir
      announce_or_puts("$ #{cmd}") if @announce_cmd

      mode = RUBY_VERSION =~ /^1\.9/ ? {:external_encoding=>"UTF-8"} : 'r'
      
      IO.popen("#{cmd} 2> #{stderr_file.path}", mode) do |io|
        @last_stdout = io.read
        announce_or_puts(@last_stdout) if @announce_stdout
      end

      @last_exit_status = $?.exitstatus
    end
    @last_stderr = IO.read(stderr_file.path)

    announce_or_puts(@last_stderr) if @announce_stderr

    if(@last_exit_status != 0 && fail_on_error)
      fail("Exit status was #{@last_exit_status}. Output:\n#{combined_output}")
    end

    @last_stderr
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
vcr-1.11.1 features/support/aruba_workaround/aruba_patches.rb
vcr-1.10.3 features/support/aruba_workaround/aruba_patches.rb
vcr-1.10.2 features/support/aruba_workaround/aruba_patches.rb
vcr-1.10.0 features/support/aruba_workaround/aruba_patches.rb
vcr-1.9.0 features/support/aruba_workaround/aruba_patches.rb
vcr-1.8.0 features/support/aruba_workaround/aruba_patches.rb
vcr-1.7.2 features/support/aruba_workaround/aruba_patches.rb
vcr-1.7.1 features/support/aruba_workaround/aruba_patches.rb
vcr-1.7.0 features/support/aruba_workaround/aruba_patches.rb
vcr-1.6.0 features/support/aruba_workaround/aruba_patches.rb
vcr-1.5.1 features/support/aruba_workaround/aruba_patches.rb
vcr-1.5.0 features/support/aruba_workaround/aruba_patches.rb
vcr-1.4.0 features/support/aruba_workaround/aruba_patches.rb
vcr-1.3.3 features/support/aruba_workaround/aruba_patches.rb
vcr-1.3.2 features/support/aruba_workaround/aruba_patches.rb