diff options
author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-04-20 16:40:47 +0000 |
---|---|---|
committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-04-20 16:40:47 +0000 |
commit | 5afa587dfe152e29dba480305be8042fa9fb3f0a (patch) | |
tree | cad4a018e6e3a4139490d5601f38885cd901f68d | |
parent | 3c5ba06db8c8ae79d52e7d1af13df5aaec5dc46f (diff) | |
download | puppet-5afa587dfe152e29dba480305be8042fa9fb3f0a.tar.gz puppet-5afa587dfe152e29dba480305be8042fa9fb3f0a.tar.xz puppet-5afa587dfe152e29dba480305be8042fa9fb3f0a.zip |
Fixing #588 - the parser correctly ignores directories in globbing now
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2404 980ebf18-57e1-0310-9a29-db15c13687c0
-rw-r--r-- | CHANGELOG | 3 | ||||
-rw-r--r-- | lib/puppet/modules.rb | 4 | ||||
-rwxr-xr-x | test/language/parser.rb | 16 |
3 files changed, 21 insertions, 2 deletions
@@ -1,3 +1,6 @@ + Modules no longer return directories in the list of found + manifests (#588). + The crontab provider now defaults to root when there is no USER set in the environment. diff --git a/lib/puppet/modules.rb b/lib/puppet/modules.rb index 5e7868cb5..aa2f75d03 100644 --- a/lib/puppet/modules.rb +++ b/lib/puppet/modules.rb @@ -70,9 +70,9 @@ class Puppet::Module return mod.manifests(pat) else abspat = File::expand_path(pat, cwd) - files = Dir.glob(abspat) + files = Dir.glob(abspat).reject { |f| FileTest.directory?(f) } if files.size == 0 - files = Dir.glob(abspat + ".pp") + files = Dir.glob(abspat + ".pp").reject { |f| FileTest.directory?(f) } end return files end diff --git a/test/language/parser.rb b/test/language/parser.rb index b01720e08..14e27d86b 100755 --- a/test/language/parser.rb +++ b/test/language/parser.rb @@ -747,6 +747,22 @@ file { "/tmp/yayness": parser.parse("$one::two = yay") end end + + # #588 + def test_globbing_with_directories + dir = tempfile + Dir.mkdir(dir) + subdir = File.join(dir, "subdir") + Dir.mkdir(subdir) + file = File.join(dir, "file.pp") + maker = tempfile + File.open(file, "w") { |f| f.puts "file { '#{maker}': ensure => file }" } + + parser = mkparser + assert_nothing_raised("Globbing failed when it matched a directory") do + parser.import("%s/*" % dir) + end + end end # $Id$ |