diff options
-rw-r--r-- | lib/chef/provider/package/rpm.rb | 6 | ||||
-rw-r--r-- | spec/unit/provider/package/rpm_spec.rb | 14 |
2 files changed, 10 insertions, 10 deletions
diff --git a/lib/chef/provider/package/rpm.rb b/lib/chef/provider/package/rpm.rb index 6e2f249c43..2ece8f7a7a 100644 --- a/lib/chef/provider/package/rpm.rb +++ b/lib/chef/provider/package/rpm.rb @@ -59,8 +59,8 @@ class Chef end Chef::Log.debug("#{@new_resource} checking rpm status") - status = shell_out("rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' #{@new_resource.source}") - status.stdout.split('\n').each do |line| + status = shell_out!("rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' #{@new_resource.source}") + status.stdout.each_line do |line| case line when /^([\w\d+_.-]+)\s([\w\d_.-]+)$/ @current_resource.package_name($1) @@ -77,7 +77,7 @@ class Chef Chef::Log.debug("#{@new_resource} checking install state") @rpm_status = shell_out("rpm -q --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' #{@current_resource.package_name}") - @rpm_status.stdout.split('\n').each do |line| + @rpm_status.stdout.each_line do |line| case line when /^([\w\d+_.-]+)\s([\w\d_.-]+)$/ Chef::Log.debug("#{@new_resource} current version is #{$2}") diff --git a/spec/unit/provider/package/rpm_spec.rb b/spec/unit/provider/package/rpm_spec.rb index 2ef8b582cd..84ba19fc6e 100644 --- a/spec/unit/provider/package/rpm_spec.rb +++ b/spec/unit/provider/package/rpm_spec.rb @@ -37,13 +37,13 @@ describe Chef::Provider::Package::Rpm do describe "when determining the current state of the package" do it "should create a current resource with the name of new_resource" do - allow(@provider).to receive(:shell_out).and_return(@status) + allow(@provider).to receive(:shell_out!).and_return(@status) @provider.load_current_resource expect(@provider.current_resource.name).to eq("ImageMagick-c++") end it "should set the current reource package name to the new resource package name" do - allow(@provider).to receive(:shell_out).and_return(@status) + allow(@provider).to receive(:shell_out!).and_return(@status) @provider.load_current_resource expect(@provider.current_resource.package_name).to eq('ImageMagick-c++') end @@ -56,7 +56,7 @@ describe Chef::Provider::Package::Rpm do it "should get the source package version from rpm if provided" do @stdout = "ImageMagick-c++ 6.5.4.7-7.el6_5" @status = double("Status", :exitstatus => 0, :stdout => @stdout) - expect(@provider).to receive(:shell_out).with("rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm").and_return(@status) + expect(@provider).to receive(:shell_out!).with("rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm").and_return(@status) expect(@provider).to receive(:shell_out).with("rpm -q --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' ImageMagick-c++").and_return(@status) @provider.load_current_resource expect(@provider.current_resource.package_name).to eq("ImageMagick-c++") @@ -66,7 +66,7 @@ describe Chef::Provider::Package::Rpm do it "should return the current version installed if found by rpm" do @stdout = "ImageMagick-c++ 6.5.4.7-7.el6_5" @status = double("Status", :exitstatus => 0, :stdout => @stdout) - expect(@provider).to receive(:shell_out).with("rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm").and_return(@status) + expect(@provider).to receive(:shell_out!).with("rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm").and_return(@status) expect(@provider).to receive(:shell_out).with("rpm -q --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' ImageMagick-c++").and_return(@status) @provider.load_current_resource expect(@provider.current_resource.version).to eq("6.5.4.7-7.el6_5") @@ -79,8 +79,8 @@ describe Chef::Provider::Package::Rpm do end it "should raise an exception if rpm fails to run" do - @status = double("Status", :exitstatus => -1, :stdout => @stdout) - allow(@provider).to receive(:shell_out).and_return(@status) + status = double("Status", :exitstatus => -1, :stdout => @stdout) + allow(@provider).to receive(:shell_out!).and_return(status) expect { @provider.run_action(:any) }.to raise_error(Chef::Exceptions::Package) end @@ -90,7 +90,7 @@ describe Chef::Provider::Package::Rpm do @new_resource = Chef::Resource::Package.new("openssh-askpass") @new_resource.source 'openssh-askpass' @provider = Chef::Provider::Package::Rpm.new(@new_resource, @run_context) - expect(@provider).to receive(:shell_out).with("rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' openssh-askpass").and_return(@status) + expect(@provider).to receive(:shell_out!).with("rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' openssh-askpass").and_return(@status) expect(@provider).to receive(:shell_out).with("rpm -q --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' openssh-askpass").and_return(@status) @provider.load_current_resource expect(@provider.current_resource.version).to be_nil |