Sha256: b114486e385b0c264fbf294bc51d1f23abfaced075eafa608ff61ede5b962728

Contents?: true

Size: 1.41 KB

Versions: 1

Compression:

Stored size: 1.41 KB

Contents

#!/usr/bin/env ruby

require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')

require 'facter'

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",
    }
    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

1 entries across 1 versions & 1 rubygems

Version Path
facter-1.6.2 spec/unit/architecture_spec.rb