Sha256: 7565888980c67f9eeb83f793f19110447693606165b2e5f553590851c2d98faa

Contents?: true

Size: 1.83 KB

Versions: 2

Compression:

Stored size: 1.83 KB

Contents

require 'spec_helper'

describe Chef::Sugar::Architecture do
  it_behaves_like 'a chef sugar'

  _64_bit_machines = %w(amd64 x86_64 ppc64 ppc64le s390x ia64 sparc64 aarch64 arch64 arm64)

  describe '#_64_bit?' do
    _64_bit_machines.each do |arch|
      it "returns true when the system is #{arch}" do
        node = { 'kernel' => { 'machine' => arch } }
        expect(described_class._64_bit?(node)).to be true
      end
    end

    it 'returns false when the system is not 64 bit' do
      node = { 'kernel' => { 'machine' => 'i386' } }
      expect(described_class._64_bit?(node)).to be false
    end
  end

  describe '#_32_bit?' do
    it 'returns true when the system is 32 bit' do
      node = { 'kernel' => { 'machine' => 'i386' } }
      expect(described_class._32_bit?(node)).to be true
    end

    _64_bit_machines.each do |arch|
      it "returns false when the system is #{arch}" do
        node = { 'kernel' => { 'machine' => arch } }
        expect(described_class._32_bit?(node)).to be false
      end
    end
  end

  describe '#intel?' do
    it 'returns true when the system is Intel' do
      node = { 'kernel' => { 'machine' => 'i86pc' } }
      expect(described_class.intel?(node)).to be true
    end

    _64_bit_machines.each do |arch|
      it "returns false when the system is #{arch}" do
        node = { 'kernel' => { 'machine' => arch } }
        expect(described_class.intel?(node)).to be false
      end
    end
  end

  describe '#sparc?' do
    it 'returns true when the system is SPARC' do
      node = { 'kernel' => { 'machine' => 'sun4u' } }
      expect(described_class.sparc?(node)).to be true
    end

    _64_bit_machines.each do |arch|
      it "returns false when the system is #{arch}" do
        node = { 'kernel' => { 'machine' => arch } }
        expect(described_class.sparc?(node)).to be false
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
chef-sugar-3.0.1 spec/unit/chef/sugar/architecture_spec.rb
chef-sugar-3.0.0 spec/unit/chef/sugar/architecture_spec.rb