diff options
author | Jeff McCune <jeff@puppetlabs.com> | 2012-02-28 11:01:15 -0800 |
---|---|---|
committer | Jeff McCune <jeff@puppetlabs.com> | 2012-03-05 15:22:06 -0800 |
commit | afd22ddc99af306aa476be7eaf9f02ada941c97b (patch) | |
tree | dc951630d4c7c4b9f0b49793ebed3b782c903b0c /spec/unit | |
parent | c0ac470e764841b0de88dbabade342dc2c1b193e (diff) | |
download | puppet-stdlib-afd22ddc99af306aa476be7eaf9f02ada941c97b.tar.gz puppet-stdlib-afd22ddc99af306aa476be7eaf9f02ada941c97b.tar.bz2 |
(#12357) Fix root_home fact on Windows
Without this patch the root_home fact fails on windows. This patch
fixes the problem by only calling methods on the object returned by the
`getent passwd root` command if the object evaluates to true.
Because there is no root account on Windows the code block simply
returns `nil` which makes the Facter fact undefined on Windows
platforms.
The root cause of the failure is that we always expected the command to
succeed and return something useful, and it may not on all supported
platforms.
Diffstat (limited to 'spec/unit')
-rw-r--r-- | spec/unit/facter/root_home_spec.rb | 12 |
1 files changed, 5 insertions, 7 deletions
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 |