[Pkg-puppet-devel] [SCM] Puppet packaging for Debian branch, upstream, updated. puppet-0.24.5-rc3-1601-gf8c1b08

James Turnbull james at lovedthanlost.net
Fri Jan 15 09:07:17 UTC 2010


The following commit has been merged in the upstream branch:
commit 7f2e5fc51b64d5a9281a7e65a88b378b1c99d03f
Author: Bruce Williams <bruce at codefluency.com>
Date:   Thu Nov 5 18:07:40 2009 -0800

    Fix #2671, preferred_serialization_format does not complain about invalid values
    
    This modifies `supported_formats` to warn when the
    `preferred_serialization_format` setting is invalid (and ignored in
    favor of the default value).
    
    I built the tests for this behavior alongside the existing
    FormatHandler tests for *valid* `preferred_serialization_format` values
    (and did some restructuring to extract common setup code to `before`
    blocks).
    
    Signed-off-by: Bruce Williams <bruce at codefluency.com>

diff --git a/lib/puppet/network/format_handler.rb b/lib/puppet/network/format_handler.rb
index 2ffbcef..e508a02 100644
--- a/lib/puppet/network/format_handler.rb
+++ b/lib/puppet/network/format_handler.rb
@@ -129,6 +129,8 @@ module Puppet::Network::FormatHandler
             if list.include?(preferred_format)
                 list.delete(preferred_format)
                 list.unshift(preferred_format)
+            else
+                Puppet.warning "Value of 'preferred_serialization_format' ('#{preferred_format}') is invalid, using default ('#{list.first}')"
             end
             list
         end
diff --git a/spec/unit/network/format_handler.rb b/spec/unit/network/format_handler.rb
index 8a79a58..110effe 100755
--- a/spec/unit/network/format_handler.rb
+++ b/spec/unit/network/format_handler.rb
@@ -49,15 +49,35 @@ describe Puppet::Network::FormatHandler do
         FormatTester.supported_formats.should == [:four, :two, :three, :one]
     end
 
-    it "should always put the preferred serialization format first if it is supported" do
-        one = stub 'supported', :supported? => true, :name => :one, :weight => 1
-        two = stub 'supported', :supported? => true, :name => :two, :weight => 6
 
-        Puppet.settings.expects(:value).with(:preferred_serialization_format).returns :one
-        Puppet::Network::FormatHandler.stubs(:formats).returns [:one, :two]
-        Puppet::Network::FormatHandler.stubs(:format).with(:one).returns one
-        Puppet::Network::FormatHandler.stubs(:format).with(:two).returns two
-        FormatTester.supported_formats.should == [:one, :two]
+    describe "with a preferred serialization format setting" do
+        before do
+            one = stub 'supported', :supported? => true, :name => :one, :weight => 1
+            two = stub 'supported', :supported? => true, :name => :two, :weight => 6
+            Puppet::Network::FormatHandler.stubs(:formats).returns [:one, :two]
+            Puppet::Network::FormatHandler.stubs(:format).with(:one).returns one
+            Puppet::Network::FormatHandler.stubs(:format).with(:two).returns two
+        end
+        describe "that is supported" do
+            before do
+                Puppet.settings.expects(:value).with(:preferred_serialization_format).returns :one
+            end    
+            it "should return the preferred serialization format first" do
+                FormatTester.supported_formats.should == [:one, :two]
+            end
+        end
+        describe "that is not supported" do
+            before do
+                Puppet.settings.expects(:value).with(:preferred_serialization_format).returns :unsupported
+            end
+            it "should still return the default format first" do
+                FormatTester.supported_formats.should == [:two, :one]
+            end
+            it "should log a warning" do
+                Puppet.expects(:warning)
+                FormatTester.supported_formats
+            end
+        end
     end
 
     it "should return the first format as the default format" do

-- 
Puppet packaging for Debian



More information about the Pkg-puppet-devel mailing list