From ea47fae31da45bde1483e9bb2be27a2714cb7584 Mon Sep 17 00:00:00 2001 From: Brandon Dunne Date: Tue, 13 Aug 2013 14:28:15 -0400 Subject: [PATCH 1/3] Define errors in a single place --- lib/linux_admin.rb | 1 + lib/linux_admin/common.rb | 2 -- lib/linux_admin/exceptions.rb | 1 + 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 lib/linux_admin/exceptions.rb 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 From 2914220ea74ef1d1cdb1234198ce4a4ea45a4925 Mon Sep 17 00:00:00 2001 From: Brandon Dunne Date: Tue, 13 Aug 2013 14:29:16 -0400 Subject: [PATCH 2/3] Ensure that the common specs verify the correct error is raised --- spec/common_spec.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 From 4832a64476f2d4e98d765ec949a3d505db5544e7 Mon Sep 17 00:00:00 2001 From: Brandon Dunne Date: Tue, 13 Aug 2013 14:29:55 -0400 Subject: [PATCH 3/3] Prevent yum tests from spawning --- lib/linux_admin/yum.rb | 2 +- spec/yum_spec.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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/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