summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Crowder <david.crowder@cerner.com>2014-12-22 16:08:08 -0600
committertyler-ball <tyleraball@gmail.com>2015-01-28 11:44:45 -0800
commitd3901d01235acaa5d00f5ebe802bb2c29aa48cc5 (patch)
tree0745ad92f895064e33389adcab455e207e3ea790
parenta569c90518b0b4c841f51554338399afa6a74db2 (diff)
downloadchef-d3901d01235acaa5d00f5ebe802bb2c29aa48cc5.tar.gz
use shell_out! where appropriate and revert incorrectly scoped variable
-rw-r--r--lib/chef/provider/package/rpm.rb6
-rw-r--r--spec/unit/provider/package/rpm_spec.rb14
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