From d397f8d1d1092067f7ca52449ce9af63f02f44e1 Mon Sep 17 00:00:00 2001 From: Luke Kanies Date: Mon, 31 Aug 2009 16:01:17 -0700 Subject: Fixing #2574 - autoloading finds plugins in modules We had some stupid errors that were preventing this from happening; this fixes them and adds an integration test. Signed-off-by: Luke Kanies --- spec/integration/util/autoload.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'spec/integration/util/autoload.rb') diff --git a/spec/integration/util/autoload.rb b/spec/integration/util/autoload.rb index f84c00bcb..a1c8aaa58 100755 --- a/spec/integration/util/autoload.rb +++ b/spec/integration/util/autoload.rb @@ -3,6 +3,7 @@ Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") } require 'puppet/util/autoload' +require 'fileutils' class AutoloadIntegrator @things = [] @@ -93,4 +94,21 @@ describe Puppet::Util::Autoload do } } end + + it "should be able to load files directly from modules" do + modulepath = tmpfile("autoload_module_testing") + libdir = File.join(modulepath, "mymod", "lib", "foo") + FileUtils.mkdir_p(libdir) + + file = File.join(libdir, "plugin.rb") + + Puppet[:modulepath] = modulepath + + with_loader("foo", "foo") do |dir, loader| + with_file(:plugin, file.split("/")) do + loader.load(:plugin) + loader.should be_loaded("plugin.rb") + end + end + end end -- cgit