summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Cooper <josh+github@puppetlabs.com>2012-03-06 15:53:08 -0800
committerJosh Cooper <josh+github@puppetlabs.com>2012-03-06 15:53:08 -0800
commit32bad79d88e4464cb91101e4671874c11f3e5bf2 (patch)
treedc951630d4c7c4b9f0b49793ebed3b782c903b0c
parentc0ac470e764841b0de88dbabade342dc2c1b193e (diff)
parentafd22ddc99af306aa476be7eaf9f02ada941c97b (diff)
downloadpuppet-stdlib-32bad79d88e4464cb91101e4671874c11f3e5bf2.tar.gz
puppet-stdlib-32bad79d88e4464cb91101e4671874c11f3e5bf2.tar.bz2
Merge pull request #45 from jeffmccune/ticket/2.3.x/12357_disable_root_home_fact_on_windows
(#12357) Fix root_home fact on Windows
-rw-r--r--lib/facter/root_home.rb4
-rw-r--r--spec/unit/facter/root_home_spec.rb12
2 files changed, 8 insertions, 8 deletions
diff --git a/lib/facter/root_home.rb b/lib/facter/root_home.rb
index 61fcf39..8249f7d 100644
--- a/lib/facter/root_home.rb
+++ b/lib/facter/root_home.rb
@@ -7,7 +7,9 @@ module Facter::Util::RootHome
def get_root_home
root_ent = Facter::Util::Resolution.exec("getent passwd root")
# The home directory is the sixth element in the passwd entry
- root_ent.split(":")[5]
+ # If the platform doesn't have getent, root_ent will be nil and we should
+ # return it straight away.
+ root_ent && root_ent.split(":")[5]
end
end
end
diff --git a/spec/unit/facter/root_home_spec.rb b/spec/unit/facter/root_home_spec.rb
index 8946d9d..ce80684 100644
--- a/spec/unit/facter/root_home_spec.rb
+++ b/spec/unit/facter/root_home_spec.rb
@@ -30,13 +30,11 @@ describe Facter::Util::RootHome do
end
end
context "windows" do
- let(:root_ent) { "FIXME TBD on Windows" }
- let(:expected_root_home) { "FIXME TBD on Windows" }
-
- it "should return FIXME TBD on windows" do
- pending "FIXME: TBD on windows"
- Facter::Util::Resolution.expects(:exec).with("getent passwd root").returns(root_ent)
- Facter::Util::RootHome.get_root_home.should == expected_root_home
+ before :each do
+ Facter::Util::Resolution.expects(:exec).with("getent passwd root").returns(nil)
+ end
+ it "should be nil on windows" do
+ Facter::Util::RootHome.get_root_home.should be_nil
end
end
end