Sha256: a775bd0e2831bb608e78223e3a2149db9969e6ab23f338c5de5e028429f76ede

Contents?: true

Size: 1.86 KB

Versions: 84

Compression:

Stored size: 1.86 KB

Contents

#! /usr/bin/env ruby

require 'spec_helper'
require 'facter/util/architecture'

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","i686"] => "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

  it "(#16081) should be PowerPC_POWER7 if os is AIX" do
    Facter.fact(:kernel).stubs(:value).returns("AIX")
    Facter::Util::Architecture.stubs(:lsattr).returns("type PowerPC_POWER7 Processor type False")
    Facter.fact(:hardwaremodel).stubs(:value).returns("IBM,8233-E8B")
    Facter.fact(:architecture).value.should == "PowerPC_POWER7"
  end

end

Version data entries

84 entries across 84 versions & 1 rubygems

Version Path
facter-2.5.7 spec/unit/architecture_spec.rb
facter-2.5.7-x86-mingw32 spec/unit/architecture_spec.rb
facter-2.5.7-x64-mingw32 spec/unit/architecture_spec.rb
facter-2.5.7-universal-darwin spec/unit/architecture_spec.rb
facter-2.5.6-x86-mingw32 spec/unit/architecture_spec.rb
facter-2.5.6-x64-mingw32 spec/unit/architecture_spec.rb
facter-2.5.6-universal-darwin spec/unit/architecture_spec.rb
facter-2.5.6 spec/unit/architecture_spec.rb
facter-2.5.5-x86-mingw32 spec/unit/architecture_spec.rb
facter-2.5.5-x64-mingw32 spec/unit/architecture_spec.rb
facter-2.5.5-universal-darwin spec/unit/architecture_spec.rb
facter-2.5.5 spec/unit/architecture_spec.rb
facter-2.5.4-x86-mingw32 spec/unit/architecture_spec.rb
facter-2.5.4-x64-mingw32 spec/unit/architecture_spec.rb
facter-2.5.4-universal-darwin spec/unit/architecture_spec.rb
facter-2.5.4 spec/unit/architecture_spec.rb
facter-2.5.1 spec/unit/architecture_spec.rb
facter-2.5.1-x86-mingw32 spec/unit/architecture_spec.rb
facter-2.5.1-x64-mingw32 spec/unit/architecture_spec.rb
facter-2.5.1-universal-darwin spec/unit/architecture_spec.rb