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.

Reply via email to