From 595dc6df93f842b84ecfb738fa7204dafedab243 Mon Sep 17 00:00:00 2001 From: Ryan Dill Date: Mon, 8 Feb 2021 03:28:11 -0800 Subject: [PATCH 1/2] (MODULES-10935) - Switch legacy operatingsystem fact to modern kernel --- lib/facter/java_version.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/facter/java_version.rb b/lib/facter/java_version.rb index 1c427a8..a9d9c18 100644 --- a/lib/facter/java_version.rb +++ b/lib/facter/java_version.rb @@ -23,7 +23,7 @@ Facter.add(:java_version) do # Additionally, facter versions prior to 2.0.1 only support # positive matches, so this needs to be done manually in setcode. setcode do - unless ['darwin'].include? Facter.value(:operatingsystem).downcase + unless ['darwin'].include? Facter.value(:kernel).downcase version = nil if Facter::Util::Resolution.which('java') Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.each { |line| version = Regexp.last_match(1) if %r{^.+ version \"(.+)\"} =~ line } @@ -34,7 +34,7 @@ Facter.add(:java_version) do end Facter.add(:java_version) do - confine operatingsystem: 'Darwin' + confine kernel: 'Darwin' has_weight 100 setcode do unless Facter::Util::Resolution.exec('/usr/libexec/java_home --failfast 2>&1').include?('Unable to find any JVMs matching version') From c3a5d5598934553415742d92ba736a0377618c10 Mon Sep 17 00:00:00 2001 From: Ryan Dill Date: Tue, 16 Feb 2021 20:39:24 -0800 Subject: [PATCH 2/2] (MODULES-10935) - Update fact used on Darwin in java_version unit test --- spec/unit/facter/java_version_spec.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/spec/unit/facter/java_version_spec.rb b/spec/unit/facter/java_version_spec.rb index bb4b167..2f31f6b 100644 --- a/spec/unit/facter/java_version_spec.rb +++ b/spec/unit/facter/java_version_spec.rb @@ -32,9 +32,9 @@ describe 'java_version' do end context 'when on Darwin' do before(:each) do - allow(Facter.fact(:operatingsystem)).to receive(:value).and_return('Darwin') + allow(Facter.fact(:kernel)).to receive(:value).and_return('Darwin') end - let(:facts) { { operatingsystem: 'Darwin' } } + let(:facts) { { kernel: 'Darwin' } } it do expect(Facter::Util::Resolution).to receive(:exec).with('/usr/libexec/java_home --failfast 2>&1').and_return('/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home') @@ -71,9 +71,9 @@ describe 'java_version' do end context 'when on Darwin' do before(:each) do - allow(Facter.fact(:operatingsystem)).to receive(:value).and_return('Darwin') + allow(Facter.fact(:kernel)).to receive(:value).and_return('Darwin') end - let(:facts) { { operatingsystem: 'Darwin' } } + let(:facts) { { kernel: 'Darwin' } } it do expect(Facter::Util::Resolution).to receive(:exec).with('/usr/libexec/java_home --failfast 2>&1').at_least(1).and_return('Unable to find any JVMs matching version "(null)".')