Can you compare this to the current state of the class in the master  
branch?

I thought this was all working in master; if it's not, I'd obviously  
want to merge the fix, but if it is, I'd prefer to backport the fix  
rather than creating a similar but not-quite-the-same fix in 0.24.x.

On Sep 19, 2008, at 7:05 AM, Paul Nasrat wrote:

>
>
> Signed-off-by: Paul Nasrat <[EMAIL PROTECTED]>
> ---
> lib/puppet/file_serving/metadata.rb |    6 +++---
> spec/unit/file_serving/metadata.rb  |   18 +++++++++++++++++-
> 2 files changed, 20 insertions(+), 4 deletions(-)
>
> diff --git a/lib/puppet/file_serving/metadata.rb b/lib/puppet/ 
> file_serving/metadata.rb
> index beecaef..b277955 100644
> --- a/lib/puppet/file_serving/metadata.rb
> +++ b/lib/puppet/file_serving/metadata.rb
> @@ -60,10 +60,10 @@ class Puppet::FileServing::Metadata <  
> Puppet::FileServing::FileBase
>
>         case stat.ftype
>         when "file":
> -            @checksum = ("{%s}" % @checksum_type) + send("%s_file"  
> % @checksum_type, real_path)
> +            @checksum = ("{%s}" % @checksum_type) + send("%s_file"  
> % @checksum_type, real_path).to_s
>         when "directory": # Always just timestamp the directory.
> -            sumtype = @checksum_type.to_s =~ /time/ ?  
> @checksum_type : "ctime"
> -            @checksum = ("{%s}" % sumtype) + send("%s_file" %  
> sumtype, path).to_s
> +            @checksum_type = "ctime"
> +            @checksum = ("{%s}" % @checksum_type) + send("%s_file"  
> % @checksum_type, path).to_s
>         when "link":
>             @destination = File.readlink(real_path)
>         else
> diff --git a/spec/unit/file_serving/metadata.rb b/spec/unit/ 
> file_serving/metadata.rb
> index 9743370..60fcbc3 100755
> --- a/spec/unit/file_serving/metadata.rb
> +++ b/spec/unit/file_serving/metadata.rb
> @@ -99,6 +99,14 @@ describe Puppet::FileServing::Metadata, " when  
> collecting attributes" do
>             @metadata.checksum.should == "{md5}" + @checksum
>         end
>
> +        it "should give a mtime checksum when checksum_type is set"  
> do
> +            time = Time.now
> +            @metadata.checksum_type = "mtime"
> +            @metadata.expects(:mtime_file).returns(@time)
> +            @metadata.collect_attributes
> +            @metadata.checksum.should == "{mtime}" + @time.to_s
> +        end
> +
>         it "should produce tab-separated mode, type, owner, group,  
> and checksum for xmlrpc" do
>             @metadata.attributes_with_tabs.should == "#{0755.to_s} 
> [EMAIL PROTECTED]"
>         end
> @@ -109,14 +117,22 @@ describe Puppet::FileServing::Metadata, " when  
> collecting attributes" do
>             @stat.stubs(:ftype).returns("directory")
>             @time = Time.now
>             @metadata.expects(:ctime_file).returns(@time)
> -            @metadata.collect_attributes
>         end
>
>         it "should only use checksums of type 'ctime' for  
> directories" do
> +            @metadata.collect_attributes
> +            @metadata.checksum.should == "{ctime}" + @time.to_s
> +        end
> +
> +        it "should only use checksums of type 'ctime' for  
> directories even if checksum_type set" do
> +            @metadata.checksum_type = "mtime"
> +            @metadata.expects(:mtime_file).never
> +            @metadata.collect_attributes
>             @metadata.checksum.should == "{ctime}" + @time.to_s
>         end
>
>         it "should produce tab-separated mode, type, owner, group,  
> and checksum for xmlrpc" do
> +            @metadata.collect_attributes
>             @metadata.attributes_with_tabs.should == "#{0755.to_s} 
> [EMAIL PROTECTED]"
>         end
>     end
> -- 
> 1.5.3.4
>
>
> >


-- 
Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by
definition, not smart enough to debug it.
     -- (attributed to) Brian W. Kernighan (unconfirmed)
---------------------------------------------------------------------
Luke Kanies | http://reductivelabs.com | http://madstop.com


--~--~---------~--~----~------------~-------~--~----~
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