diff options
| author | Markus Roberts <Markus@reality.com> | 2010-01-22 12:55:14 -0800 |
|---|---|---|
| committer | James Turnbull <james@lovedthanlost.net> | 2010-01-30 09:35:58 +1100 |
| commit | f9e05a8062423cf0e4dd6dca2050a8c7d4b2e85d (patch) | |
| tree | 4865bd1bd076c5117b8a125ff41323e72e1c4c8c | |
| parent | b473264fe76f92b8eddeed7175c4283c9f8484d2 (diff) | |
Fix for #3094 (libdir should take ":" delimited path)
Actually, File::PATH_SEPARATOR, which is generally, but not always, ":").
Since libdir is also the default for the plugin handler, users will need to
specify it explicitly if a multipart libdir is given (and it will need to be
one of the segments given in the libdir for the plugins to be found).
| -rw-r--r-- | lib/puppet/util/autoload.rb | 4 | ||||
| -rwxr-xr-x | spec/unit/util/autoload.rb | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/lib/puppet/util/autoload.rb b/lib/puppet/util/autoload.rb index 51fdaadad..ceaabe46a 100644 --- a/lib/puppet/util/autoload.rb +++ b/lib/puppet/util/autoload.rb @@ -156,7 +156,7 @@ class Puppet::Util::Autoload end end - def search_directories - [module_directories, Puppet[:libdir], $:].flatten + def search_directories(dummy_argument=:work_arround_for_ruby_GC_bug) + [module_directories, Puppet[:libdir].split(File::PATH_SEPARATOR), $:].flatten end end diff --git a/spec/unit/util/autoload.rb b/spec/unit/util/autoload.rb index 4e1384246..220cb5f68 100755 --- a/spec/unit/util/autoload.rb +++ b/spec/unit/util/autoload.rb @@ -51,8 +51,9 @@ describe Puppet::Util::Autoload do end it "should include the module directories, the Puppet libdir, and all of the Ruby load directories" do + Puppet.stubs(:[]).with(:libdir).returns(%w{/libdir1 /lib/dir/two /third/lib/dir}.join(File::PATH_SEPARATOR)) @autoload.expects(:module_directories).returns %w{/one /two} - @autoload.search_directories.should == ["/one", "/two", Puppet[:libdir], $:].flatten + @autoload.search_directories.should == %w{/one /two /libdir1 /lib/dir/two /third/lib/dir} + $: end it "should include in its search path all of the search directories that have a subdirectory matching the autoload path" do |
