From 6393787d7f6efb911e481dff1c957cc69add06ad Mon Sep 17 00:00:00 2001
From: Nathan Ward <nward@searchlight.nz>
Date: Thu, 11 Feb 2021 00:09:11 +1300
Subject: [PATCH] Only capture the exec for `radiusd -v` - facter etc. runs
 `uname -s` and whatever else, so things get confused.

---
 spec/unit/facter/freeradius_version_spec.rb | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/spec/unit/facter/freeradius_version_spec.rb b/spec/unit/facter/freeradius_version_spec.rb
index d16e573..d4b4a65 100644
--- a/spec/unit/facter/freeradius_version_spec.rb
+++ b/spec/unit/facter/freeradius_version_spec.rb
@@ -4,7 +4,15 @@ require 'facter/freeradius_version'
 describe 'freeradius_version', type: :fact do
   before :each do
     Facter.clear
-    allow(Facter::Core::Execution).to receive(:exec).with('radiusd -v').and_return('FreeRADIUS Version 3.0.21')
+    orig_exec_method = Facter::Core::Execution.method(:exec)
+    allow(Facter::Core::Execution).to receive(:exec) do |cmd|
+      case cmd
+      when 'radiusd -v'
+        'FreeRADIUS Version 3.0.21'
+      else
+        orig_exec_method.call(cmd)
+      end
+    end
   end
 
   it 'sets freeradius_version' do
-- 
GitLab