From 01a515fc4d6af84fa99e42475a95d846e09343d0 Mon Sep 17 00:00:00 2001 From: Rein Henrichs Date: Wed, 18 Aug 2010 15:50:39 -0700 Subject: [#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" --- lib/facter/operatingsystemrelease.rb | 4 ++-- spec/unit/operatingsystemrelease.rb | 39 ++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 spec/unit/operatingsystemrelease.rb 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 -- cgit