diff options
Diffstat (limited to 'spec')
| -rwxr-xr-x | spec/integration/type/file.rb | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/spec/integration/type/file.rb b/spec/integration/type/file.rb index 40f9244f1..fe6e2ddc6 100755 --- a/spec/integration/type/file.rb +++ b/spec/integration/type/file.rb @@ -223,7 +223,7 @@ describe Puppet::Type.type(:file) do end it "should not recursively manage files managed by a more specific explicit file" do - dir = tmpfile("file_source_integration_source") + dir = tmpfile("recursion_vs_explicit_1") subdir = File.join(dir, "subdir") file = File.join(subdir, "file") @@ -242,6 +242,25 @@ describe Puppet::Type.type(:file) do (File.stat(file).mode & 007777).should == 0644 end + + it "should recursively manage files even if there is an explicit file whose name is a prefix of the managed file" do + dir = tmpfile("recursion_vs_explicit_2") + + managed = File.join(dir, "file") + generated = File.join(dir, "file_with_a_name_starting_with_the_word_file") + + FileUtils.mkdir_p(dir) + File.open(managed, "w") { |f| f.puts "" } + File.open(generated, "w") { |f| f.puts "" } + + @catalog = Puppet::Resource::Catalog.new + @catalog.add_resource Puppet::Type::File.new(:name => dir, :recurse => true, :backup => false, :mode => "755") + @catalog.add_resource Puppet::Type::File.new(:name => managed, :recurse => true, :backup => false, :mode => "644") + + @catalog.apply + + (File.stat(generated).mode & 007777).should == 0755 + end end describe "when generating resources" do |
