Sha256: fb17269777d9570fdd391bd9baa0cf667aaea26dd1cb6763f083b6459d7eff68

Contents?: true

Size: 1.45 KB

Versions: 9

Compression:

Stored size: 1.45 KB

Contents

#!/usr/bin/env rspec

require 'spec_helper'

describe "Architecture fact" do

  it "should default to the hardware model" do
    Facter.fact(:hardwaremodel).stubs(:value).returns("NonSpecialCasedHW")

    Facter.fact(:architecture).value.should == "NonSpecialCasedHW"
  end

  os_archs = Hash.new
  os_archs = {
    ["Debian","x86_64"] => "amd64",
    ["Gentoo","x86_64"] => "amd64",
    ["GNU/kFreeBSD","x86_64"] => "amd64",
    ["Ubuntu","x86_64"] => "amd64",
    ["Gentoo","i386"] => "x86",
    ["Gentoo","i486"] => "x86",
    ["Gentoo","i586"] => "x86",
    ["Gentoo","i686"] => "x86",
    ["Gentoo","pentium"] => "x86",
    ["windows","i386"] => "x86",
    ["windows","x64"] => "x64",
  }
  generic_archs = Hash.new
  generic_archs = {
    "i386" => "i386",
    "i486" => "i386",
    "i586" => "i386",
    "i686" => "i386",
    "pentium" => "i386",
  }
  
  os_archs.each do |pair, result|
    it "should be #{result} if os is #{pair[0]} and hardwaremodel is #{pair[1]}" do
     Facter.fact(:operatingsystem).stubs(:value).returns(pair[0])
     Facter.fact(:hardwaremodel).stubs(:value).returns(pair[1])

     Facter.fact(:architecture).value.should == result
    end
  end

  generic_archs.each do |hw, result|
    it "should be #{result} if hardwaremodel is #{hw}" do
     Facter.fact(:hardwaremodel).stubs(:value).returns(hw)
     Facter.fact(:operatingsystem).stubs(:value).returns("NonSpecialCasedOS")

     Facter.fact(:architecture).value.should == result
    end
  end

end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
facter-1.6.13 spec/unit/architecture_spec.rb
facter-1.6.13.rc1 spec/unit/architecture_spec.rb
facter-1.6.12 spec/unit/architecture_spec.rb
librarian-puppet-0.9.4 vendor/gems/ruby/1.8/gems/facter-1.6.11/spec/unit/architecture_spec.rb
facter-1.6.12.rc2 spec/unit/architecture_spec.rb
facter-1.6.12.rc1 spec/unit/architecture_spec.rb
librarian-puppet-0.9.3 vendor/gems/ruby/1.8/gems/facter-1.6.11/spec/unit/architecture_spec.rb
facter-1.6.11 spec/unit/architecture_spec.rb
facter-1.6.10 spec/unit/architecture_spec.rb