summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavide Cavalca <dcavalca@fb.com>2016-03-07 12:02:52 -0800
committerDavide Cavalca <dcavalca@fb.com>2016-03-07 12:02:52 -0800
commit13c86a5fc571bc45ca37c889e77d6dc970596ee5 (patch)
tree6a851864bfc8394135206752b83a461b97b5f2cd
parent92a533ac2ec5860dde504e4c6af0778cef37026a (diff)
downloadohai-13c86a5fc571bc45ca37c889e77d6dc970596ee5.tar.gz
do not create mash until after the shellout
-rw-r--r--lib/ohai/plugins/linux/sessions.rb3
-rw-r--r--spec/unit/plugins/linux/sessions_spec.rb2
2 files changed, 2 insertions, 3 deletions
diff --git a/lib/ohai/plugins/linux/sessions.rb b/lib/ohai/plugins/linux/sessions.rb
index 3f72a011..f2f33bba 100644
--- a/lib/ohai/plugins/linux/sessions.rb
+++ b/lib/ohai/plugins/linux/sessions.rb
@@ -24,14 +24,13 @@ Ohai.plugin(:Sessions) do
provides "sessions/by_session", "sessions/by_user"
collect_data(:linux) do
- sessions Mash.new unless sessions
-
loginctl_path = which("loginctl")
if loginctl_path
cmd = "#{loginctl_path} --no-pager --no-legend --no-ask-password " +
"list-sessions"
loginctl = shell_out(cmd)
+ sessions Mash.new unless sessions
sessions[:by_session] = Mash.new unless sessions[:by_session]
sessions[:by_user] = Mash.new unless sessions[:by_user]
diff --git a/spec/unit/plugins/linux/sessions_spec.rb b/spec/unit/plugins/linux/sessions_spec.rb
index c35015e0..32936670 100644
--- a/spec/unit/plugins/linux/sessions_spec.rb
+++ b/spec/unit/plugins/linux/sessions_spec.rb
@@ -93,6 +93,6 @@ LOGINCTL_OUT
it "should not populate sessions if loginctl is not found" do
allow(plugin).to receive(:which).with("loginctl").and_return(false)
plugin.run
- expect(plugin[:sessions]).to eq({})
+ expect(plugin[:sessions]).to be(nil)
end
end