diff options
author | Rein Henrichs <rein@puppetlabs.com> | 2010-08-18 15:50:39 -0700 |
---|---|---|
committer | Rein Henrichs <rein@puppetlabs.com> | 2010-08-18 15:50:39 -0700 |
commit | 01a515fc4d6af84fa99e42475a95d846e09343d0 (patch) | |
tree | 2937e61b2e9e7d68c3d4d3683fa2544c9668da9c | |
parent | 51bcebe38cab6088c901f1006339bbe40a36d161 (diff) | |
download | facter-01a515fc4d6af84fa99e42475a95d846e09343d0.tar.gz facter-01a515fc4d6af84fa99e42475a95d846e09343d0.tar.xz facter-01a515fc4d6af84fa99e42475a95d846e09343d0.zip |
[#4289] operatingsystemrelease fact for oel, ovs
When Facter returns operatingsystem as "oel" or "ovs", the
operatingsystemrelease fact does not catch these properly, causing an
error.
Specs added to catch failure and case statement updated to catch "oel"
and "ovs" as well as "OEL" and "OVS"
-rw-r--r-- | lib/facter/operatingsystemrelease.rb | 4 | ||||
-rw-r--r-- | spec/unit/operatingsystemrelease.rb | 39 |
2 files changed, 41 insertions, 2 deletions
diff --git a/lib/facter/operatingsystemrelease.rb b/lib/facter/operatingsystemrelease.rb index 30f2989..280208b 100644 --- a/lib/facter/operatingsystemrelease.rb +++ b/lib/facter/operatingsystemrelease.rb @@ -8,9 +8,9 @@ Facter.add(:operatingsystemrelease) do releasefile = "/etc/fedora-release" when "MeeGo" releasefile = "/etc/meego-release" - when "OEL" + when "OEL", "oel" releasefile = "/etc/enterprise-release" - when "OVS" + when "OVS", "ovs" releasefile = "/etc/ovs-release" end File::open(releasefile, "r") do |f| diff --git a/spec/unit/operatingsystemrelease.rb b/spec/unit/operatingsystemrelease.rb new file mode 100644 index 0000000..31d4ae8 --- /dev/null +++ b/spec/unit/operatingsystemrelease.rb @@ -0,0 +1,39 @@ +#!/usr/bin/env ruby + +require File.dirname(__FILE__) + '/../spec_helper' + +require 'facter' + +describe "Operating System Release fact" do + + before do + Facter.clear + end + + after do + Facter.clear + end + + test_cases = { + "CentOS" => "/etc/redhat-release", + "RedHat" => "/etc/redhat-release", + "Fedora" => "/etc/fedora-release", + "MeeGo" => "/etc/meego-release", + "OEL" => "/etc/enterprise-release", + "oel" => "/etc/enterprise-release", + "OVS" => "/etc/ovs-release", + "ovs" => "/etc/ovs-release" + } + + test_cases.each do |system, file| + context "with operatingsystem reported as #{system.inspect}" do + it "should read the #{file.inspect} file" do + Facter.fact(:operatingsystem).stubs(:value).returns(system) + + File.expects(:open).with(file, "r").at_least(1) + + Facter.fact(:operatingsystemrelease).value + end + end + end +end |