diff options
| author | Luke Kanies <luke@madstop.com> | 2009-05-06 12:00:23 -0700 |
|---|---|---|
| committer | James Turnbull <james@lovedthanlost.net> | 2009-05-15 09:58:26 +1000 |
| commit | 4f3a67f21568394dd89a969bd373cbbd59784f7e (patch) | |
| tree | a3d7c60a5be395c2cbc6fce430c29229897e7ad5 | |
| parent | 2d580c257e6d8aa0821fd443e8b817027407212c (diff) | |
| download | puppet-4f3a67f21568394dd89a969bd373cbbd59784f7e.tar.gz puppet-4f3a67f21568394dd89a969bd373cbbd59784f7e.tar.xz puppet-4f3a67f21568394dd89a969bd373cbbd59784f7e.zip | |
Fixing #2221 - pluginsignore should work again
We weren't splitting on whitespace, which is necessary
since the settings don't support arrays but files
expect them.
Signed-off-by: Luke Kanies <luke@madstop.com>
| -rw-r--r-- | lib/puppet/configurer/downloader.rb | 2 | ||||
| -rwxr-xr-x | spec/integration/configurer.rb | 18 | ||||
| -rwxr-xr-x | spec/unit/configurer/downloader.rb | 8 |
3 files changed, 26 insertions, 2 deletions
diff --git a/lib/puppet/configurer/downloader.rb b/lib/puppet/configurer/downloader.rb index 9653c3a58..7409fca64 100644 --- a/lib/puppet/configurer/downloader.rb +++ b/lib/puppet/configurer/downloader.rb @@ -56,7 +56,7 @@ class Puppet::Configurer::Downloader def file args = default_arguments.merge(:path => path, :source => source) - args[:ignore] = ignore if ignore + args[:ignore] = ignore.split if ignore Puppet::Type.type(:file).new(args) end diff --git a/spec/integration/configurer.rb b/spec/integration/configurer.rb new file mode 100755 index 000000000..3bea0ead4 --- /dev/null +++ b/spec/integration/configurer.rb @@ -0,0 +1,18 @@ +#!/usr/bin/env ruby + +require File.dirname(__FILE__) + '/../spec_helper' + +require 'puppet/configurer' + +describe Puppet::Configurer do + describe "when downloading plugins" do + it "should use the :pluginsignore setting, split on whitespace, for ignoring remote files" do + resource = Puppet::Type.type(:notify).new :name => "yay" + Puppet::Type.type(:file).expects(:new).with { |args| args[:ignore] == Puppet[:pluginsignore].split(/\s+/) }.returns resource + + configurer = Puppet::Configurer.new + configurer.stubs(:download_plugins?).returns true + configurer.download_plugins + end + end +end diff --git a/spec/unit/configurer/downloader.rb b/spec/unit/configurer/downloader.rb index bc23574f2..80de8db48 100755 --- a/spec/unit/configurer/downloader.rb +++ b/spec/unit/configurer/downloader.rb @@ -82,10 +82,16 @@ describe Puppet::Configurer::Downloader do end it "should support providing an 'ignore' parameter" do - Puppet::Type.type(:file).expects(:new).with { |opts| opts[:ignore] == ".svn" } + Puppet::Type.type(:file).expects(:new).with { |opts| opts[:ignore] == [".svn"] } @dler = Puppet::Configurer::Downloader.new("foo", "path", "source", ".svn") @dler.file end + + it "should split the 'ignore' parameter on whitespace" do + Puppet::Type.type(:file).expects(:new).with { |opts| opts[:ignore] == %w{.svn CVS} } + @dler = Puppet::Configurer::Downloader.new("foo", "path", "source", ".svn CVS") + @dler.file + end end describe "when creating the catalog to do the downloading" do |
