diff --git a/lib/linux_admin.rb b/lib/linux_admin.rb index 3552d40..2586d6a 100644 --- a/lib/linux_admin.rb +++ b/lib/linux_admin.rb @@ -2,6 +2,7 @@ require 'active_support/core_ext' require 'linux_admin/common' +require 'linux_admin/exceptions' require 'linux_admin/rhn' require 'linux_admin/rpm' require 'linux_admin/subscription_manager' diff --git a/lib/linux_admin/common.rb b/lib/linux_admin/common.rb index a1e9f48..8282517 100644 --- a/lib/linux_admin/common.rb +++ b/lib/linux_admin/common.rb @@ -1,8 +1,6 @@ require 'shellwords' class LinuxAdmin - class CommandError < RuntimeError; end - module Common def cmd(cmd) Distro.local.class::COMMANDS[cmd] diff --git a/lib/linux_admin/exceptions.rb b/lib/linux_admin/exceptions.rb new file mode 100644 index 0000000..09ecf19 --- /dev/null +++ b/lib/linux_admin/exceptions.rb @@ -0,0 +1 @@ + class CommandError < RuntimeError; end diff --git a/lib/linux_admin/yum.rb b/lib/linux_admin/yum.rb index 06e3bc4..eae31d3 100644 --- a/lib/linux_admin/yum.rb +++ b/lib/linux_admin/yum.rb @@ -59,7 +59,7 @@ def self.update(*packages) end def self.version_available(*packages) - raise ArgumentError, "packages requires at least one package name" unless packages + raise ArgumentError, "packages requires at least one package name" if packages.blank? cmd = "repoquery --qf=\"%{name} %{version}\"" params = {nil => packages} diff --git a/spec/common_spec.rb b/spec/common_spec.rb index 500fa58..8b0b902 100644 --- a/spec/common_spec.rb +++ b/spec/common_spec.rb @@ -70,11 +70,11 @@ class TestClass end it "command ok exit bad" do - expect { subject.run("false") }.to raise_error + expect { subject.run("false") }.to raise_error(CommandError) end it "command bad" do - expect { subject.run("XXXXX") }.to raise_error + expect { subject.run("XXXXX") }.to raise_error(Errno::ENOENT) end context "with :return_exitstatus => true" do @@ -97,11 +97,11 @@ class TestClass end it "command ok exit bad" do - expect { subject.run("false", :return_output => true) }.to raise_error + expect { subject.run("false", :return_output => true) }.to raise_error(CommandError) end it "command bad" do - expect { subject.run("XXXXX", :return_output => true) }.to raise_error + expect { subject.run("XXXXX", :return_output => true) }.to raise_error(Errno::ENOENT) end end end diff --git a/spec/yum_spec.rb b/spec/yum_spec.rb index 8a73cf9..908045c 100644 --- a/spec/yum_spec.rb +++ b/spec/yum_spec.rb @@ -107,7 +107,7 @@ context ".version_available" do it "no packages" do - expect { described_class.version_available }.to raise_error + expect { described_class.version_available }.to raise_error(ArgumentError) end it "with packages" do