Sha256: 6e74ee7cffdcd6fe240ced1b51aa1d53f54362b8ed863cf2be0d7c807e015265

Contents?: true

Size: 1.23 KB

Versions: 5

Compression:

Stored size: 1.23 KB

Contents

require 'spec_helper'

describe Cocaine::CommandLine::ProcessRunner do
  if Cocaine::CommandLine::ProcessRunner.supported?
    it_behaves_like "a command that does not block"

    it 'runs the command given and captures the output' do
      output = subject.call("echo hello")
      expect(output).to have_output "hello\n"
    end

    it 'runs the command given and captures the error output' do
      output = subject.call("echo hello 1>&2")
      expect(output).to have_error_output "hello\n"
    end

    it 'modifies the environment and runs the command given' do
      output = subject.call("echo $yes", {"yes" => "no"})
      expect(output).to have_output "no\n"
    end

    it 'sets the exitstatus when a command completes' do
      subject.call("ruby -e 'exit 0'")
      $?.exitstatus.should == 0
      subject.call("ruby -e 'exit 5'")
      $?.exitstatus.should == 5
    end

    it "runs the command it's given and allows access to stderr afterwards" do
      cmd = Cocaine::CommandLine.new(
        "ruby",
        "-e '$stdout.puts %{hello}; $stderr.puts %{goodbye}'",
        :swallow_stderr => false
      )
      cmd.run
      expect(cmd.command_output).to eq "hello\n"
      expect(cmd.command_error_output).to eq "goodbye\n"
    end
  end
end

Version data entries

5 entries across 5 versions & 3 rubygems

Version Path
cocaine-0.6.0 spec/cocaine/command_line/runners/process_runner_spec.rb
cocaine-0.6.0.alpha spec/cocaine/command_line/runners/process_runner_spec.rb
enju_leaf-1.2.1 vendor/bundle/ruby/2.3/gems/cocaine-0.5.8/spec/cocaine/command_line/runners/process_runner_spec.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/cocaine-0.5.8/spec/cocaine/command_line/runners/process_runner_spec.rb
cocaine-0.5.8 spec/cocaine/command_line/runners/process_runner_spec.rb