From 18a862e9bb76a20d640acf7c7c86e2e0304a757a Mon Sep 17 00:00:00 2001 From: Isa Farnik Date: Mon, 12 Oct 2015 20:23:52 +0100 Subject: [PATCH] aix helper additions no need to POWER cpu version helpers accept ohai bittiness --- README.md | 1 + lib/chef/sugar/architecture.rb | 15 ++++++++++++++- spec/unit/chef/sugar/architecture_spec.rb | 16 ++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 45241f2..fd9785a 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,7 @@ API - `sparc?` - `ppc64?` - `ppc64le?` +- `powerpc?` #### Examples ```ruby diff --git a/lib/chef/sugar/architecture.rb b/lib/chef/sugar/architecture.rb index c01610b..5c32b29 100644 --- a/lib/chef/sugar/architecture.rb +++ b/lib/chef/sugar/architecture.rb @@ -26,7 +26,7 @@ module Architecture # def _64_bit?(node) %w(amd64 x86_64 ppc64 ppc64le s390x ia64 sparc64 aarch64 arch64 arm64 sun4v sun4u) - .include?(node['kernel']['machine']) + .include?(node['kernel']['machine']) || ( node['kernel']['bits'] == '64' ) end # @@ -88,6 +88,16 @@ def ppc64le?(node) %w(ppc64le) .include?(node['kernel']['machine']) end + + # + # Determine if the current architecture is PowerPC + # + # @return [Boolean] + # + def powerpc?(node) + %w(powerpc) + .include?(node['kernel']['machine']) + end end module DSL @@ -111,6 +121,9 @@ def ppc64?; Chef::Sugar::Architecture.ppc64?(node); end # @see Chef::Sugar::Architecture#ppc64le? def ppc64le?; Chef::Sugar::Architecture.ppc64le?(node); end + + # @see Chef::Sugar::Architecture#powerpc? + def powerpc?; Chef::Sugar::Architecture.powerpc?(node); end end end end diff --git a/spec/unit/chef/sugar/architecture_spec.rb b/spec/unit/chef/sugar/architecture_spec.rb index f25586e..989af01 100644 --- a/spec/unit/chef/sugar/architecture_spec.rb +++ b/spec/unit/chef/sugar/architecture_spec.rb @@ -14,6 +14,16 @@ end end + it 'returns true when ohai provides the bittiness' do + node = { 'kernel' => { 'bits' => '64' } } + expect(described_class._64_bit?(node)).to be true + end + + it 'returns false when ohai provides the bittiness' do + node = { 'kernel' => { 'bits' => '32' } } + expect(described_class._64_bit?(node)).to be false + 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 @@ -62,6 +72,12 @@ end end + describe '#powerpc?' do + it 'returns true when the system is IBM POWER or powerpc' do + node = { 'kernel' => { 'machine' => 'powerpc' } } + end + end + describe '#sparc?' do it 'returns true when the system is SPARC sun4u' do node = { 'kernel' => { 'machine' => 'sun4u' } }