diff --git a/lib/facter/resolvers/xen.rb b/lib/facter/resolvers/xen.rb index 2f02bfa01a..cb2125322f 100644 --- a/lib/facter/resolvers/xen.rb +++ b/lib/facter/resolvers/xen.rb @@ -66,6 +66,8 @@ def find_command return XEN_TOOLSTACK if num_stacks > 1 && File.exist?(XEN_TOOLSTACK) XEN_COMMANDS.each { |command| return command if File.exist?(command) } + + nil end end end diff --git a/spec/facter/resolvers/xen_spec.rb b/spec/facter/resolvers/xen_spec.rb index c94132250e..3b3db6b9f7 100644 --- a/spec/facter/resolvers/xen_spec.rb +++ b/spec/facter/resolvers/xen_spec.rb @@ -27,6 +27,18 @@ xen_resolver.invalidate_cache end + context 'when not xen' do + let(:evtchn_file) { false } + let(:proc_xen_file) { false } + let(:xvda1_file) { false } + + it 'returns' do + allow(File).to receive(:exist?).with('/usr/sbin/xm').and_return(false) + + expect(xen_resolver.resolve(:vm)).to be_nil + end + end + context 'when xen is privileged' do context 'when /dev/xen/evtchn exists' do let(:domains) { load_fixture('xen_domains').read }