summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/facter/operatingsystemrelease.rb4
-rw-r--r--spec/unit/operatingsystemrelease.rb39
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