diff options
Diffstat (limited to 'spec/unit/mixin/command_spec.rb')
-rw-r--r-- | spec/unit/mixin/command_spec.rb | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/spec/unit/mixin/command_spec.rb b/spec/unit/mixin/command_spec.rb index 96660be436..e198e3addd 100644 --- a/spec/unit/mixin/command_spec.rb +++ b/spec/unit/mixin/command_spec.rb @@ -31,41 +31,41 @@ describe Chef::Mixin::Command, :volatile do it "should be possible to read the child process's stdout and stderr" do popen4("sh -c 'echo hello && echo world >&2'") do |pid, stdin, stdout, stderr| - stdout.read.should == "hello\n" - stderr.read.should == "world\n" + expect(stdout.read).to eq("hello\n") + expect(stderr.read).to eq("world\n") end end it "should default all commands to be run in the POSIX standard C locale" do popen4("echo $LC_ALL") do |pid, stdin, stdout, stderr| - stdout.read.strip.should == "C" + expect(stdout.read.strip).to eq("C") end end it "should respect locale when specified explicitly" do popen4("echo $LC_ALL", :environment => {"LC_ALL" => "es"}) do |pid, stdin, stdout, stderr| - stdout.read.strip.should == "es" + expect(stdout.read.strip).to eq("es") end end it "should end when the child process reads from STDIN and a block is given" do - lambda {Timeout.timeout(10) do + expect {Timeout.timeout(10) do popen4("ruby -e 'while gets; end'", :waitlast => true) do |pid, stdin, stdout, stderr| (1..5).each { |i| stdin.puts "#{i}" } end end - }.should_not raise_error + }.not_to raise_error end describe "when a process detaches but doesn't close STDOUT and STDERR [CHEF-584]" do it "returns immediately after the first child process exits" do - lambda {Timeout.timeout(10) do + expect {Timeout.timeout(10) do pid, stdin,stdout,stderr = nil,nil,nil,nil evil_forker="exit if fork; 10.times { sleep 1}" popen4("ruby -e '#{evil_forker}'") do |pid,stdin,stdout,stderr| end - end}.should_not raise_error + end}.not_to raise_error end end @@ -76,13 +76,13 @@ describe Chef::Mixin::Command, :volatile do include Chef::Mixin::Command it "logs the command's stderr and stdout output if the command failed" do - Chef::Log.stub(:level).and_return(:debug) + allow(Chef::Log).to receive(:level).and_return(:debug) begin run_command(:command => "sh -c 'echo hello; echo world >&2; false'") violated "Exception expected, but nothing raised." rescue => e - e.message.should =~ /STDOUT: hello/ - e.message.should =~ /STDERR: world/ + expect(e.message).to match(/STDOUT: hello/) + expect(e.message).to match(/STDERR: world/) end end @@ -93,10 +93,10 @@ describe Chef::Mixin::Command, :volatile do # btm # Serdar - During Solaris tests, we've seen that processes # are taking a long time to exit. Bumping timeout now to 10. - lambda {Timeout.timeout(10) do + expect {Timeout.timeout(10) do evil_forker="exit if fork; 10.times { sleep 1}" run_command(:command => "ruby -e '#{evil_forker}'") - end}.should_not raise_error + end}.not_to raise_error end end |