Please review pull request #699: Fix 14105 opened by (jorgeecardona)
Description:
Simple rspec and fix for a problem when forcing in augeas.
- Opened: Fri Apr 20 22:58:16 UTC 2012
- Based on: puppetlabs:master (54e1c83afde1b721e5433adea17a4dd0caffbc63)
- Requested merge: jorgeecardona:fix_14105 (fc882d03297183240c3528c380bf213db8b0fcfe)
Diff follows:
diff --git a/lib/puppet/provider/augeas/augeas.rb b/lib/puppet/provider/augeas/augeas.rb
index edb9eb3..87e4939 100644
--- a/lib/puppet/provider/augeas/augeas.rb
+++ b/lib/puppet/provider/augeas/augeas.rb
@@ -348,8 +348,10 @@ def need_to_run?
end
end
ensure
- if not return_value or resource.noop? or not save_result
- close_augeas
+ unless force
+ if not return_value or resource.noop? or not save_result
+ close_augeas
+ end
end
end
return_value
diff --git a/spec/unit/provider/augeas/augeas_spec.rb b/spec/unit/provider/augeas/augeas_spec.rb
index 0909946..db192fe 100755
--- a/spec/unit/provider/augeas/augeas_spec.rb
+++ b/spec/unit/provider/augeas/augeas_spec.rb
@@ -18,6 +18,26 @@
@provider.close_augeas
end
+ describe "when Augeas[:force] is set" do
+ # Ticket: 14105
+ it "should never close augeas object" do
+
+ @new_provider = provider_class.new(@resource)
+ @augeas = stub("augeas")
+ @new_provider.aug = @augeas
+
+ @new_provider.stubs(:get_augeas_version).returns("0.10.0")
+
+ @resource[:context] = "/files/etc/hosts"
+ @resource[:changes] = "set foo bar"
+ @resource[:force] = true
+
+ @new_provider.need_to_run?.should == true
+ @augeas.expects(:close).never()
+ end
+ end
+
+
describe "command parsing" do
it "should break apart a single line into three tokens and clean up the context" do
@resource[:context] = "/context"
@@ -448,7 +468,7 @@
end
end
end
-
+
describe "augeas execution integration" do
before do
@augeas = stub("augeas", :load)
-- You received this message because you are subscribed to the Google Groups "Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to [email protected].
For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.
